Использование произвольного кода 1С на примере отбора документов

Последние изменения: 04.09.2015

В приведенном примере в переменную «Результат» должна возвращаться выборка документов из базы 1С. 

Описание полей элемента справочника произвольного кода:

  • «Наименование» ― наименование произвольного кода;
  • «Откуда вызывается» ― откуда может вызываться произвольный код: «Заполнение табличной части документа ТСД», «Заполнение реквизитов документа ТСД», «Заполнение реквизитов документа 1С» и т.д. В нашем примере (рис.2.5) произвольный код вызывается при отборе документов (значение «Откуда вызывается» равно значению «Отбор документов в 1С»);
  • «Используется в конфигурациях» ― название конфигурации, для которой может использоваться произвольный код;
  • «Служебные переменные» ― перечень переменных, которые можно использовать при разработке программного кода. Каждый вариант вызова (поле «Откуда вызывается») имеет свой перечень переменных;
  • «Текст кода для выполнения» ― программный код, заданный с учетом перечня служебных переменных.
  • Описание кнопок элемента справочника произвольного кода:
  • «Проверить» ― позволяет осуществить синтаксический контроль написанного программного кода. При использовании конструкций со служебными переменными, может работать некорректно;
  • «Записать» ― записать изменения без закрытия формы элемента;
  • «ОК» ―  записать изменения и закрыть форму элемента;
  • «Закрыть» ― закрыть форму элемента.

Флажок «Редактируется поставщиком (при обновлении драйвера будут восстановлены настройки поставщика)» указывает на способ замещения настроек элемента при обновлении драйвера. Если не нужно, чтобы настройки изменялись на настройки поставщика при будущих обновлениях, этот флажок нужно снять.

Для некоторых вариантов вызова (поле «Откуда вызывается») существует возможность вставить кусок заранее предопределенного кода 1С, что позволяет не писать весь код с нуля, а пользоваться шаблоном (кнопка «Вставить текст» командной панели поля «Текст кода для выполнения»).

В приведенном примере:

Запрос = мСоединение.NewObject("Запрос");
Запрос.Текст ="
 |ВЫБРАТЬ
 |   ИмяТипаДокумента.Ссылка как документ,
 |   ИмяТипаДокумента.Представление
 | ИЗ 
 |   Документ." + ИмяТипаДокумента + " КАК ИмяТипаДокумента
 | где  ИмяТипаДокумента.Дата >=&Дата";
Запрос.УстановитьПараметр("Дата", ТекущаяДата() 3600*24*30);
Результат = Запрос.Выполнить();

Код выбирает документы за последние 30 дней.  Имя типа документа передается в качестве переменной.

Обратите внимание: если не проставить значение в переменную «Результат», то дополнительный код не возымеет никакого действия.