Это старая версия документа.
Содержит персональный процедуры и функции интеграции. Единственный модуль, рекомендуемый к изменению в процессе интеграции. При обновлении конфигурации по шаблону требуется уделять ему особое внимание.
Выборки по справочникам
// Функция, возвращающая запрос для выборки поднадзорных организаций
// Используется при построении динамического отбора и заполнения таблицы организаций в обработке
Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт
описание
Должна возвращать запрос с полями Ссылка и Владелец, где
Параметр Поместить указывает, должен ли быть помещён запрос в виртуальную таблицу Ссылки.
Примеры:
// Вариант с использованием одного справочника
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| Организации.Ссылка,
| Организации.Ссылка КАК Владелец
|ИЗ
| Справочник.Организации КАК Организации", Поместить);
// Вариант с извлечением данных из регистра напрямую в случае множества справочников
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| АСП_Поднадзорные.Ссылка,
| АСП_Поднадзорные.Владелец
|ИЗ
| РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные
|ГДЕ
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить);
// Функция, возвращающая запрос для выборки поднадзорных контрагентов
// Используется при построении динамического отбора и заполнения таблицы контрагентов в обработке
Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт
описание
Должна возвращать запрос с полями Ссылка и Владелец, где
Параметр Поместить указывает, должен ли быть помещён запрос в виртуальную таблицу Ссылки.
Пример:
// универсальная выборка из регистра
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| *
|ИЗ
| РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные
|ГДЕ
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить);
// Функция, возвращающая запрос товаров для универсального отбора
// и заполнения таблицы товаров в обработке
Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт
описание
Запрос должен возвращать одно поле Ссылка.
ВидСправочника - название вида справочника 1С, выбранного интерактивно
Поместить - режим помещения запроса в виртуальную таблицу
Для иерархического отображения запрос не должен содержать соединений.
Пример:
Если ВидСправочника = Неопределено Тогда
ВидСправочника = "Номенклатура";
КонецЕсли;
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| Номенклатура.Ссылка
| Номенклатура.Наименование КАК Представление
|ИЗ
| Справочник."+ВидСправочника+" КАК Номенклатура", Поместить);
Подготовка к ХС/ПС к регистрации
// Получить полное наименование
// для регистрации контрагентов в системе Меркурий
Функция НаименованиеПолное(Контрагент) Экспорт
описание
Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.
Используется только в запросах на регистрацию в Меркурии.
Пример:
Если ТипЗнч(Контрагент) = Тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты") Тогда
Возврат Контрагент.НаименованиеПолное;
КонецЕсли;
Возврат Контрагент.Наименование;
//* Получить адрес организации/контрагента
// ТипАдрес = "Юридический" / "Фактический"
Функция ПолучитьАдрес(Объект, ТипАдреса) Экспорт
//* Установить адрес организации/контрагента
Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт
описание
Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами.
Ссылка - ссылка на элемент справочника
ТипАдреса - Юридический / Фактический
Адрес - новый адрес строкой
Функция также возвращает адрес строкой.
Используются в интеллектуальном механизме поиска реквизитов для регистрации контрагентов в системе Меркурий.
Пример см. в шаблоне.
//* функция получения кода ОКПФ, специфичного для конфигурации
Функция КодОКПФ(Ссылка) Экспорт
описание
Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).
Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.
Вызывается только из события АСП_ЗаписьСправочниковПриЗаписи.
Пример см. в шаблоне.
//* Тип создаваемого или редактируемого хозяйствующего субъекта:
//1 - юридическое лицо;
//2 - физическое лицо;
//3 - индивидуальный предприниматель.
Функция ТипКонтрагента(Ссылка) Экспорт
описание
Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).
Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.
Вызывается только из события АСП_ЗаписьСправочниковПриЗаписи.
Пример см. в шаблоне.
Запросы документов
//* Получение таблицы товаров от конфигурации
Функция ЗапросТаблицыТоваров(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыПродукции(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыСырья(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыОприходования(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт
описание
Функции, возвращающие двухуровневый запрос по документам и табличным частям.
Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.
Правила построения запроса:
запрос должен выбирать ссылки из виртуальной таблицы СсылкиВет, которая подготавливается заранее динамическим фильтром;
для универсальности выборка может иметь левое соединение с таблицами документа РеализацияТоваровУслуг, который заменится на правильный для выполнения запроса автоматически;
запрос должен возвращать поля Ссылка, Номенклатура, Количество, КоличествоУпаковок и Сумма, сгруппированные по Ссылка;
запрос также может возвращать поля Категория, Единица, Упаковка, ДатаВыработки и прочие поля для заполнения табличных частей сертификата.
Логика функций:
ЗапросТаблицыТоваров - универсальная функция, возвращающая запрос для заполнения таблицы документов в обработке для всех видов документов, а также возвращающая таблицы товаров для заполнения входящих и исходящих сертификатов.
ЗапросТаблицыПродукции и ЗапросТаблицыСырья - используются только при заполнении производственных сертификатов.
ЗапросТаблицыОприходования и ЗапросТаблицыСписания - используются только при заполнении инвентаризаций.
Пример см. в шаблоне. В примере используется один общий запрос, незначительно модифицируемый для всех видов документов.
Внешние события
//* Заполнение любых особых полей сертификата сразу после создания
Процедура ДозаполнитьПоляВетСертификата1С(Ссылка, ОбъектСертификата) Экспорт
//+ Заполнение любых особых полей сертификата сразу после записи
Функция ДозаполнитьПоляВетСертификата1СПослеЗаписи(Ссылка, ОбъектСертификата) Экспорт
//+ Дозаполнение документов при разборе в очереди
Процедура ДозаполнитьПоляВетСертификатов1СПоОчереди(СсылкаНаСертификат) Экспорт
//+ При проведении вет сертификата, после формирования движений
Процедура ДействияПослеПроведенияВетСертификата(Объект, Движения) Экспорт
//+ Перед регистрацией сертификата
Процедура ДействияПередРегистрациейВетСертификата(Основание, ВидДокумента) Экспорт
//+ После успешной регистрации сертификата
Процедура ДействияПослеРегистрацииВетСертификата(Ссылка, Обработка) Экспорт
//+ Создание ветеринарного документа на основании, возвращает количество созданных
Функция СоздатьВетДокиПоОснованию(Обработка, Документ, ВидДокумента=Неопределено) Экспорт
//+ Регистрация ветеринарного документа по основанию
Процедура ЗарегистрироватьПоОснованию(Обработка, ВидДокумента, Документ) Экспорт
//+ Проведение ветеринарного документа по основанию
Процедура ПровестиПоОснованию(Обработка, ВидДокумента, Документ) Экспорт
//+ расширения таблицы документов
Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт
Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт
// подписки на справочники
Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт
// Загрузка внешней обработки в параллельный контекст
Функция ПолучитьОбъектОбработки() Экспорт