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