Выполнялка кода в среде 1С:Предприятие




Ещё одна выполнялка свеженаписанного кода в среде 1С:Предприятие. Иногда проще внести исправления, запустив несколько строк кода, чем делать это штатными средствами, особенно если нужно для этого распроводить документ.

«ВыполнялкаКода» — обработка выполняет код 1С в режиме 1С:Предприятия. Имеет 2 формы: для тонкого и для толстого клиента. При этом не нужно запускать Предприятие специально в режиме совместимости форм. Необходимость в ней возникла при исправлении косяков пользователей. Состоит из 2-х частей: команда «Выполнить» (для тонкого клиента выбирается контекст НаКлиенте или НаСервере) и сервисных элементов. Команда «Выполнить» описана в справочнике конфигуратора.

Сервисные элементы:

Реквизиты применяются в тонком клиенте. Форма для тонкого и форма для толстого клиентов

Макеты представляют текстовые документы с вписанными туда образцами кода 1С.

С префиксом «Толст» — будут доступны для списка выбора в толстом клиенте.

С префиксом «Тонк» — будут доступны для списка выбора в тонком клиенте.

При выборе элемента из списка, его содержимое перезапишется в открытое поле.

Использование:

1. Запускаете в толстом или тонком клиенте. 

2. Пишете в окне свой код или подгружаете код из макета, как на картинке: подгрузка кода из макета для последующего редактирования /и выполнения/.

Пример: по решению бизнес-аналитика (согласованному с руководством)  все проведённые документы «Реализация» должны иметь «ЭтаФорма.ТолькоПросмотр» = «Истина», без исключений, для всех ролей. При очередном восстановлении последовательности выясняется, что номенклатура «Картина офисная» была удалена из поступления, но осталась в проведённой «Реализации №3». И эта реализация не будет перепроводиться, т.к. остаток номенклатуры «Картина офисная» = 0; Выход — удалить из таблицы «Товары» объекта «Реализация №3» эту номенклатуру, не открывая форму документа (где «ЭтаФорма.ТолькоПросмотр» = «Истина»). Пишем код: 

докРеализация = Документы.РеализацияТоваров.НайтиПоНомеру("_",Дата("20240328")).ПолучитьОбъект();
Сообщить(докРеализация); // в место отладчика
таб = докРеализация.Товары;
таб.УдалитьСтроку(таб[0]); // первая строка
докРеализация.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);

Не делать же обработку из за 4 строк кода. 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *