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