То, что вы можете никогда и не увидеть. Функциональные опции.
суббота, 4 июня 2016 г.
воскресенье, 29 мая 2016 г.
1С-ное.(Заметки быдло-ученика-погромиста), 24 занятие: обмен данными.
Очень муторная тема, которую, несомненно, стоит как-нибудь
потом рассмотреть отдельно. Ну а пока – только ответы на вопросы.
понедельник, 23 мая 2016 г.
1С-ное.(Заметки быдло-ученика-погромиста), 23 занятие: рабочий стол и настройка командного интерфейса
Не буду даже оправдываться.
Итак, занятие по книжке за номером 23, посвященное пользователям и ролям:
Итак, занятие по книжке за номером 23, посвященное пользователям и ролям:
понедельник, 24 ноября 2014 г.
Моя группа с тыренными гифочками
А я подумал, а чо бы мне не прорекламировать свою группу во вконтактике с тыренными с инета гифочками. Целых 102 человека, интересно, будет ли толк? Вот оно: не самая лучшая группа, посвященная гифкам.
Будет такой типа эксперимент.
Будет такой типа эксперимент.
четверг, 9 октября 2014 г.
вторник, 23 сентября 2014 г.
UP! 3D Printer mini
В общем, с некоторой толикой гордости презентую новый тэг - не так давно у меня появился 3d принтер. На самом деле давно, просто я ленивая жопа, забивающая писать про интересные штуки.
Взял я его для того, чтобы своими руками пощупать новую технологию, и, если не удастся поставить все это дело на коммерческие рельсы - продать. Как бы разницу в цене покупки/продажи я и буду считать платой за обучение.
Если коротко - он весьма компактен, печатает не шумно, не пахнет. Единственное - малая площадь рабочей поверхности ну и скорость печати - для коммерческого использования помрете на нем делать что-нибудь большое.
А рассказать я хотел о баге, связанном с печатью.
Время от времени случается глюк, когда наш принерок не может передать задание на печать. Выглядит это так: долгое время не может отправить данные с первого слоя, а потом играется забавный звук и выскакивает ошибка "Can't load motion program"
Взял я его для того, чтобы своими руками пощупать новую технологию, и, если не удастся поставить все это дело на коммерческие рельсы - продать. Как бы разницу в цене покупки/продажи я и буду считать платой за обучение.
Если коротко - он весьма компактен, печатает не шумно, не пахнет. Единственное - малая площадь рабочей поверхности ну и скорость печати - для коммерческого использования помрете на нем делать что-нибудь большое.
А рассказать я хотел о баге, связанном с печатью.
Время от времени случается глюк, когда наш принерок не может передать задание на печать. Выглядит это так: долгое время не может отправить данные с первого слоя, а потом играется забавный звук и выскакивает ошибка "Can't load motion program"
Это лечится. Берем отвертку, откручиваем и снимаем заднюю крышку (да, и не надо забывать выключить принтер из сети).
Находим на материнской плате местный аналог жесткого диска - карту памяти.
Вытаскиваем её целиком и запихиваем обратно. Прикручиваем крышку обратно и печатаем!
Я так понимаю, происходит переполнение данной карты, а программную очистку китайцы не придумали. Может, исправят в следующих версиях прошивки.
Мини-лайфхак - так как такая штука случается достаточно часто, я закрепил крышку всего на два болта - чтобы было быстрее и проще её снимать. Такие дела.
суббота, 21 июня 2014 г.
Быдло-1С. Интерактивная работа пользователя с таблицами.
Сегодня расскажу о своём недавнем случайным опытом. Вдруг кому-то поможет (на самом деле нет).
Перем ЗапомнитьСтроку; //расскажу ниже
Я не знаю, как это обозвать, так что обзову «интерактивная
работа пользователя с таблицами».
Суть в следующем – понадобилась обработка, с помощью которой пользователь сможет удалять некорректные записи из регистра сведений. А так как записей с одним и тем же измерением может быть несколько, то необходимо было придумать механизм, с помощью которого пользователь смог бы интерактивно и самостоятельно выбирать и удалять записи.
Суть в следующем – понадобилась обработка, с помощью которой пользователь сможет удалять некорректные записи из регистра сведений. А так как записей с одним и тем же измерением может быть несколько, то необходимо было придумать механизм, с помощью которого пользователь смог бы интерактивно и самостоятельно выбирать и удалять записи.
Все достаточно просто (кстати, я не претендую, что у меня
самое оптимальное решение, мне кажется, можно сделать проще и лучше, но я ж
быдло, мне можно):
по нажатию на кнопку «прочитать регистр» запросом отбираем из регистра по некоторому условию записи, они отображаются в ТабличномПоле. Стрелочкой можем перекинуть выделенную строку в ТабличноеПоле1, и тогда уже нажать на кнопку «удалить записи» и произойдет запись этих строк из регистра.
по нажатию на кнопку «прочитать регистр» запросом отбираем из регистра по некоторому условию записи, они отображаются в ТабличномПоле. Стрелочкой можем перекинуть выделенную строку в ТабличноеПоле1, и тогда уже нажать на кнопку «удалить записи» и произойдет запись этих строк из регистра.
Итого будет выглядеть как-то так:
Теперь о реализации.
В первой процедуре, где происходит запрос, выгружаем запрос
в таблицу, копируем её (чтоб не парится с созданием колонок, и вообще), и
очищаем. Итого имеем две одинаковые по структуре таблицы, но одну с данными, а
другую – нет. Таблицы выводим в форму, в табличные поля.
ТаблицаИсходняя = Запрос.Выполнить().Выгрузить();//выгружаем в таблицу данные запроса
ТаблицаИсходняя = Запрос.Выполнить().Выгрузить();//выгружаем в таблицу данные запроса
ТаблицаНаУдаление
= ТаблицаИсходняя.Скопировать();
ТаблицаНаУдаление.Очистить();
ТабличноеПоле = ТаблицаИсходняя;
ТабличноеПоле1 = ТаблицаНаУдаление;
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();//вывели таблицу в форму в поле ТабличноеПоле
Ах да, не забываем вынести в глобальные переменные следующие
вещи:
Перем ЗапомнитьСтроку; //расскажу ниже
Перем ЗапомнитьСтроку2; //расскажу ниже
Перем ТаблицаИсходняя; //таблица из запроса
Перем ТаблицаНаУдаление;//таблица, которую «создал»
пользователь
Теперь идем в табличные поля и находим там событие
«ПриАктивизацииСтроки» (см. рисунок)
В эту процедуру идет следующее:
ТекущаяСтрока = ЭлементыФормы.ТабличноеПоле.ТекущаяСтрока;
Если
ТекущаяСтрока <> Неопределено Тогда //данное условие сделано для того,
чтобы в случае пустой строки переменная ЗапомнитьСтроку имела тип
«Неопределенно», а не «ошибка чтения значения»
ЗапомнитьСтроку
= ТекущаяСтрока;
Иначе
ЗапомнитьСтроку
= Неопределено; //переменная ЗапомнитьСтроку будет перекидываться в другую
таблицу
КонецЕсли;
Ну и теперь, соответственно, событие на нажатие кнопки
переноса:
Если ЗапомнитьСтроку <> Неопределено Тогда
Если ЗапомнитьСтроку <> Неопределено Тогда
СтрокаТаблицыНаУдаление
= ТаблицаНаУдаление.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицыНаУдаление,
ЗапомнитьСтроку);//первый параметр – как можно догадаться, строка-приёмник,
второй параметр – строка таблицы источника
ТаблицаИсходняя.Удалить(ЗапомнитьСтроку);
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
КонецЕсли;
Дальше я затупил и с кнопкой обратного переноса сделал точно
такие же процедуры (ТабличноеПоле1ПриАктивизацииСтроки и Кнопка1 нажатие). Так
как у меня выплыл какой-то косяк, то добавил переменную ЗапомнитьСтроку2.
Такие дела. Мысли вслух (но мне лениво их проверять) –
полюбас можно избавится от переменной ЗапомнитьСтроку2, и, скорее всего, не
обязательно при каждой итерации заново создавать на форме ТабличноеПоле и
ТабличноеПоле1. Но мне лень думать.
Воюйте с 1с и побеждайте, а я пошел дальше эникеить.
Воюйте с 1с и побеждайте, а я пошел дальше эникеить.
P.S. Раскрашивать буковки - та еще морока.
Подписаться на:
Сообщения (Atom)


