Асп общие: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки |
Shihov (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 6: | Строка 6: | ||
==== Выборки по справочникам ==== | ==== Выборки по справочникам ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Функция, возвращающая запрос для выборки поднадзорных организаций | // Функция, возвращающая запрос для выборки поднадзорных организаций | ||
// Используется при построении динамического отбора и заполнения таблицы организаций в обработке | // Используется при построении динамического отбора и заполнения таблицы организаций в обработке | ||
Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт | Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Должна возвращать запрос с полями '''Ссылка''' и '''Владелец''', где | Должна возвращать запрос с полями '''Ссылка''' и '''Владелец''', где | ||
Строка 20: | Строка 20: | ||
Примеры: | Примеры: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Вариант с использованием одного справочника | // Вариант с использованием одного справочника | ||
Возврат ПоместитьЗапрос( | Возврат ПоместитьЗапрос( | ||
Строка 28: | Строка 28: | ||
|ИЗ | |ИЗ | ||
| Справочник.Организации КАК Организации", Поместить); | | Справочник.Организации КАК Организации", Поместить); | ||
</ | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Вариант с извлечением данных из регистра напрямую в случае множества справочников | // Вариант с извлечением данных из регистра напрямую в случае множества справочников | ||
Возврат ПоместитьЗапрос( | Возврат ПоместитьЗапрос( | ||
Строка 39: | Строка 39: | ||
|ГДЕ | |ГДЕ | ||
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить); | | АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить); | ||
</ | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Функция, возвращающая запрос для выборки поднадзорных контрагентов | // Функция, возвращающая запрос для выборки поднадзорных контрагентов | ||
// Используется при построении динамического отбора и заполнения таблицы контрагентов в обработке | // Используется при построении динамического отбора и заполнения таблицы контрагентов в обработке | ||
Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт | Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Должна возвращать запрос с полями '''Ссылка''' и '''Владелец''', где | Должна возвращать запрос с полями '''Ссылка''' и '''Владелец''', где | ||
Строка 55: | Строка 55: | ||
Пример: | Пример: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// универсальная выборка из регистра | // универсальная выборка из регистра | ||
Возврат ПоместитьЗапрос( | Возврат ПоместитьЗапрос( | ||
Строка 64: | Строка 64: | ||
|ГДЕ | |ГДЕ | ||
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить); | | АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить); | ||
</ | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Функция, возвращающая запрос товаров для универсального отбора | // Функция, возвращающая запрос товаров для универсального отбора | ||
// и заполнения таблицы товаров в обработке | // и заполнения таблицы товаров в обработке | ||
Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт | Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Запрос должен возвращать одно поле '''Ссылка'''. | Запрос должен возвращать одно поле '''Ссылка'''. | ||
Строка 79: | Строка 79: | ||
Пример: | Пример: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
Если ВидСправочника = Неопределено Тогда | Если ВидСправочника = Неопределено Тогда | ||
ВидСправочника = "Номенклатура"; | ВидСправочника = "Номенклатура"; | ||
Строка 89: | Строка 89: | ||
|ИЗ | |ИЗ | ||
| Справочник."+ВидСправочника+" КАК Номенклатура", Поместить); | | Справочник."+ВидСправочника+" КАК Номенклатура", Поместить); | ||
</ | </syntaxhighlight> | ||
==== Подготовка к ХС/ПС к регистрации ==== | ==== Подготовка к ХС/ПС к регистрации ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Получить полное наименование | // Получить полное наименование | ||
// для регистрации контрагентов в системе Меркурий | // для регистрации контрагентов в системе Меркурий | ||
Функция НаименованиеПолное(Контрагент) Экспорт | Функция НаименованиеПолное(Контрагент) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.<br/>Используется только в запросах на регистрацию в Меркурии. | Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.<br/>Используется только в запросах на регистрацию в Меркурии. | ||
Строка 104: | Строка 104: | ||
Пример: | Пример: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
Если ТипЗнч(Контрагент) = Тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты") Тогда | Если ТипЗнч(Контрагент) = Тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты") Тогда | ||
Возврат Контрагент.НаименованиеПолное; | Возврат Контрагент.НаименованиеПолное; | ||
КонецЕсли; | КонецЕсли; | ||
Возврат Контрагент.Наименование; | Возврат Контрагент.Наименование; | ||
</ | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//* Получить полное наименование товара | //* Получить полное наименование товара | ||
Функция НаименованиеТовара(Товар) Экспорт | Функция НаименованиеТовара(Товар) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Функция получает ссылку на товар и возвращает его наименование. Используется при регистрации номенклатуры в Меркурии с наименованием, отличающимся от стандартного. Полезно в применении с характеристиками номенклатуры. | Функция получает ссылку на товар и возвращает его наименование. Используется при регистрации номенклатуры в Меркурии с наименованием, отличающимся от стандартного. Полезно в применении с характеристиками номенклатуры. | ||
Строка 121: | Строка 121: | ||
Пример: | Пример: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
Если Метаданные.Справочники.Найти("ХарактеристикиНоменклатуры")<>Неопределено И ТипЗнч(Товар)= Тип("СправочникСсылка.ХарактеристикиНоменклатуры") тогда | Если Метаданные.Справочники.Найти("ХарактеристикиНоменклатуры")<>Неопределено И ТипЗнч(Товар)= Тип("СправочникСсылка.ХарактеристикиНоменклатуры") тогда | ||
Возврат Товар.Владелец.НаименованиеПолное + " ("+Товар.Наименование+")"; | Возврат Товар.Владелец.НаименованиеПолное + " ("+Товар.Наименование+")"; | ||
Строка 127: | Строка 127: | ||
Возврат Товар.Наименование; | Возврат Товар.Наименование; | ||
КонецЕсли; | КонецЕсли; | ||
</ | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//* Получить адрес организации/контрагента | //* Получить адрес организации/контрагента | ||
// ТипАдрес = "Юридический" / "Фактический" | // ТипАдрес = "Юридический" / "Фактический" | ||
Строка 137: | Строка 137: | ||
//* Установить адрес организации/контрагента | //* Установить адрес организации/контрагента | ||
Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт | Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами. | Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами. | ||
Строка 148: | Строка 148: | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//* функция получения кода ОКПФ, специфичного для конфигурации | //* функция получения кода ОКПФ, специфичного для конфигурации | ||
Функция КодОКПФ(Ссылка) Экспорт | Функция КодОКПФ(Ссылка) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события '''АСП_ЗаписьСправочниковПриЗаписи'''.<br/><syntaxhighlight lang='bash'> | Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события '''АСП_ЗаписьСправочниковПриЗаписи'''.<br/><syntaxhighlight lang='bash'> | ||
Строка 158: | Строка 158: | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//* Тип создаваемого или редактируемого хозяйствующего субъекта: | //* Тип создаваемого или редактируемого хозяйствующего субъекта: | ||
//1 - юридическое лицо; | //1 - юридическое лицо; | ||
Строка 164: | Строка 164: | ||
//3 - индивидуальный предприниматель. | //3 - индивидуальный предприниматель. | ||
Функция ТипКонтрагента(Ссылка) Экспорт | Функция ТипКонтрагента(Ссылка) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события '''АСП_ЗаписьСправочниковПриЗаписи'''.<br/><syntaxhighlight lang='bash'> | Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события '''АСП_ЗаписьСправочниковПриЗаписи'''.<br/><syntaxhighlight lang='bash'> | ||
Строка 173: | Строка 173: | ||
==== Запросы документов ==== | ==== Запросы документов ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//* Получение таблицы товаров от конфигурации | //* Получение таблицы товаров от конфигурации | ||
Функция ЗапросТаблицыТоваров(ВидДокумента = Неопределено) Экспорт | Функция ЗапросТаблицыТоваров(ВидДокумента = Неопределено) Экспорт | ||
Строка 180: | Строка 180: | ||
Функция ЗапросТаблицыОприходования(ВидДокумента = Неопределено) Экспорт | Функция ЗапросТаблицыОприходования(ВидДокумента = Неопределено) Экспорт | ||
Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт | Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Функции, возвращающие двухуровневый запрос по документам и табличным частям.<br/>Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.<br/><syntaxhighlight lang='bash'> | Функции, возвращающие двухуровневый запрос по документам и табличным частям.<br/>Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.<br/><syntaxhighlight lang='bash'> | ||
Правила построения запроса: | Правила построения запроса: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# запрос должен выбирать ссылки из виртуальной таблицы '''СсылкиВет''', которая подготавливается заранее динамическим фильтром; | |||
# для универсальности выборка может иметь левое соединение с таблицами документа '''РеализацияТоваровУслуг''', который заменится на '''правильный''' для выполнения запроса автоматически; | |||
# запрос должен возвращать поля '''Ссылка''', '''Номенклатура''', '''Количество''', '''КоличествоУпаковок''' и '''Сумма''', сгруппированные по '''Ссылка'''; | |||
# запрос также может возвращать поля '''Категория''', '''Единица''', '''Упаковка''', '''ДатаВыработки''' и прочие поля для заполнения табличных частей сертификата. | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 201: | Строка 201: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// получение контрагента документа вместе с ссылкой | // получение контрагента документа вместе с ссылкой | ||
Функция ЗапросКонтрагентаДокумента(ВидДокумента) Экспорт | Функция ЗапросКонтрагентаДокумента(ВидДокумента) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 212: | Строка 212: | ||
==== Внешние события ==== | ==== Внешние события ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//+ Заполнение любых особых полей сертификата сразу после создания | //+ Заполнение любых особых полей сертификата сразу после создания | ||
// Ссылка - ссылка на документ учётной базы, выступающий основанием | // Ссылка - ссылка на документ учётной базы, выступающий основанием | ||
Строка 239: | Строка 239: | ||
// имеет смысл при использовании последовательной регистрации | // имеет смысл при использовании последовательной регистрации | ||
Процедура ДействияПослеРегистрацииВетСертификата(Ссылка, Обработка) Экспорт | Процедура ДействияПослеРегистрацииВетСертификата(Ссылка, Обработка) Экспорт | ||
</ | </syntaxhighlight> | ||
==== Активирующие функции ==== | ==== Активирующие функции ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//+ Создание ветеринарных документов на основании, возвращает количество созданных сертификатов | //+ Создание ветеринарных документов на основании, возвращает количество созданных сертификатов | ||
// позволяет встроиться в процесс для формирования комплексных цепоцек | // позволяет встроиться в процесс для формирования комплексных цепоцек | ||
Строка 273: | Строка 273: | ||
КонецЦикла; | КонецЦикла; | ||
КонецПроцедуры | КонецПроцедуры | ||
</ | </syntaxhighlight> | ||
==== Расширение интерфейса обработки ==== | ==== Расширение интерфейса обработки ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
//+ расширения таблицы документов | //+ расширения таблицы документов | ||
Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт | Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт | ||
Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт | Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Возможность расширить табличную часть выборки документов в обработке программным способом. '''Только для обычных форм'''. | Возможность расширить табличную часть выборки документов в обработке программным способом. '''Только для обычных форм'''. | ||
Строка 291: | Строка 291: | ||
Пример: | Пример: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// добавление колонки с производимой продукцией | // добавление колонки с производимой продукцией | ||
Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт | Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт | ||
Строка 303: | Строка 303: | ||
КонецЕсли; | КонецЕсли; | ||
КонецПроцедуры | КонецПроцедуры | ||
</ | </syntaxhighlight> | ||
==== Синхронизация регистров сведений ==== | ==== Синхронизация регистров сведений ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// подписка на запись справочников, причастных к работе в Меркурии | // подписка на запись справочников, причастных к работе в Меркурии | ||
Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт | Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Требуется обеспечения целостности данных, а именно дополнительных реквизитов Меркурия, хранящихся в регистрах сведений, а также их частичного автоматического заполнения. | Требуется обеспечения целостности данных, а именно дополнительных реквизитов Меркурия, хранящихся в регистрах сведений, а также их частичного автоматического заполнения. | ||
Строка 320: | Строка 320: | ||
==== Доступ к обработке ==== | ==== Доступ к обработке ==== | ||
<1c> | <syntaxhighlight lang='1c'> | ||
// Загрузка внешней обработки в параллельный контекст | // Загрузка внешней обработки в параллельный контекст | ||
Функция ПолучитьОбъектОбработки() Экспорт | Функция ПолучитьОбъектОбработки() Экспорт | ||
</ | </syntaxhighlight> | ||
описание | | описание | | ||
Внешняя обработка содержит транспортный модуль, который используется в разных местах интеграции. Для этого необходимо обеспечить подсистеме постоянный доступ к файлу обработки для загрузки и обращения.<br/>Шаблон содержит несколько возможных решений по реализации данной проблемы. | Внешняя обработка содержит транспортный модуль, который используется в разных местах интеграции. Для этого необходимо обеспечить подсистеме постоянный доступ к файлу обработки для загрузки и обращения.<br/>Шаблон содержит несколько возможных решений по реализации данной проблемы. |
Текущая версия от 13:04, 2 апреля 2025
Общий модуль АСП_Общие
Содержит персональные процедуры и функции интеграции клиента. Единственный модуль, рекомендуемый к изменению в процессе интеграции.
При новой интеграции необходимо проверить каждую функцию модуля а адаптировать поведение под требуемую логику.
При обновлении конфигурации по шаблону требуется уделять ему особое внимание.
Описание процедур и функций
Выборки по справочникам
// Функция, возвращающая запрос для выборки поднадзорных организаций
// Используется при построении динамического отбора и заполнения таблицы организаций в обработке
Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт
описание |
Должна возвращать запрос с полями Ссылка и Владелец, где
- Ссылка используется в качестве поднадзорного
- Владелец - в качестве хозяйствующего
Параметр Поместить указывает, должен ли быть помещён запрос в виртуальную таблицу Ссылки.
Примеры:
// Вариант с использованием одного справочника
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| Организации.Ссылка,
| Организации.Ссылка КАК Владелец
|ИЗ
| Справочник.Организации КАК Организации", Поместить);
// Вариант с извлечением данных из регистра напрямую в случае множества справочников
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| АСП_Поднадзорные.Ссылка,
| АСП_Поднадзорные.Владелец
|ИЗ
| РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные
|ГДЕ
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить);
// Функция, возвращающая запрос для выборки поднадзорных контрагентов
// Используется при построении динамического отбора и заполнения таблицы контрагентов в обработке
Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт
описание |
Должна возвращать запрос с полями Ссылка и Владелец, где
- Ссылка используется в качестве поднадзорного
- Владелец - в качестве хозяйствующего
Параметр Поместить указывает, должен ли быть помещён запрос в виртуальную таблицу Ссылки.
Пример:
// универсальная выборка из регистра
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| *
|ИЗ
| РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные
|ГДЕ
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить);
// Функция, возвращающая запрос товаров для универсального отбора
// и заполнения таблицы товаров в обработке
Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт
описание |
Запрос должен возвращать одно поле Ссылка.
- ВидСправочника - название вида справочника 1С, выбранного интерактивно
- Поместить - режим помещения запроса в виртуальную таблицу
- !: Для иерархического отображения запрос не должен содержать соединений.
Пример:
Если ВидСправочника = Неопределено Тогда
ВидСправочника = "Номенклатура";
КонецЕсли;
Возврат ПоместитьЗапрос(
"ВЫБРАТЬ
| Номенклатура.Ссылка
| Номенклатура.Наименование КАК Представление
|ИЗ
| Справочник."+ВидСправочника+" КАК Номенклатура", Поместить);
Подготовка к ХС/ПС к регистрации
// Получить полное наименование
// для регистрации контрагентов в системе Меркурий
Функция НаименованиеПолное(Контрагент) Экспорт
описание |
Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.
Используется только в запросах на регистрацию в Меркурии.
Пример:
Если ТипЗнч(Контрагент) = Тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты") Тогда
Возврат Контрагент.НаименованиеПолное;
КонецЕсли;
Возврат Контрагент.Наименование;
//* Получить полное наименование товара
Функция НаименованиеТовара(Товар) Экспорт
описание |
Функция получает ссылку на товар и возвращает его наименование. Используется при регистрации номенклатуры в Меркурии с наименованием, отличающимся от стандартного. Полезно в применении с характеристиками номенклатуры.
Пример:
Если Метаданные.Справочники.Найти("ХарактеристикиНоменклатуры")<>Неопределено И ТипЗнч(Товар)= Тип("СправочникСсылка.ХарактеристикиНоменклатуры") тогда
Возврат Товар.Владелец.НаименованиеПолное + " ("+Товар.Наименование+")";
Иначе
Возврат Товар.Наименование;
КонецЕсли;
//* Получить адрес организации/контрагента
// ТипАдрес = "Юридический" / "Фактический"
Функция ПолучитьАдрес(Объект, ТипАдреса) Экспорт
//* Установить адрес организации/контрагента
Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт
описание |
Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами.
- Ссылка - ссылка на элемент справочника
- ТипАдреса - Юридический / Фактический
- Адрес - новый адрес строкой
Функция также возвращает адрес строкой.
Используются в интеллектуальном механизме поиска реквизитов для регистрации контрагентов в системе Меркурий.
Пример см. в [[компоненты:шаблон|шаблоне]].
//* функция получения кода ОКПФ, специфичного для конфигурации
Функция КодОКПФ(Ссылка) Экспорт
описание |
Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).
Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.
Вызывается только из события АСП_ЗаписьСправочниковПриЗаписи.
Пример см. в [[компоненты:шаблон|шаблоне]].
//* Тип создаваемого или редактируемого хозяйствующего субъекта:
//1 - юридическое лицо;
//2 - физическое лицо;
//3 - индивидуальный предприниматель.
Функция ТипКонтрагента(Ссылка) Экспорт
описание |
Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).
Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.
Вызывается только из события АСП_ЗаписьСправочниковПриЗаписи.
Пример см. в [[компоненты:шаблон|шаблоне]].
Запросы документов
//* Получение таблицы товаров от конфигурации
Функция ЗапросТаблицыТоваров(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыПродукции(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыСырья(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыОприходования(ВидДокумента = Неопределено) Экспорт
Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт
описание |
Функции, возвращающие двухуровневый запрос по документам и табличным частям.
Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.
Правила построения запроса:
- запрос должен выбирать ссылки из виртуальной таблицы СсылкиВет, которая подготавливается заранее динамическим фильтром;
- для универсальности выборка может иметь левое соединение с таблицами документа РеализацияТоваровУслуг, который заменится на правильный для выполнения запроса автоматически;
- запрос должен возвращать поля Ссылка, Номенклатура, Количество, КоличествоУпаковок и Сумма, сгруппированные по Ссылка;
- запрос также может возвращать поля Категория, Единица, Упаковка, ДатаВыработки и прочие поля для заполнения табличных частей сертификата.
Логика функций:
- ЗапросТаблицыТоваров - универсальная функция, возвращающая запрос для заполнения таблицы документов в обработке для всех видов документов, а также возвращающая таблицы товаров для заполнения входящих и исходящих сертификатов.
- ЗапросТаблицыПродукции и ЗапросТаблицыСырья - используются только при заполнении производственных сертификатов.
- ЗапросТаблицыОприходования и ЗапросТаблицыСписания - используются только при заполнении инвентаризаций.
Пример см. в [[компоненты:шаблон|шаблоне]]. В примере используется один общий запрос, незначительно модифицируемый для всех видов документов.
// получение контрагента документа вместе с ссылкой
Функция ЗапросКонтрагентаДокумента(ВидДокумента) Экспорт
описание |
Опциональная функция
. Позволяет использовать в качестве контрагента для сертификатов (поднадзорного) любой реквизит исходного документа с помощью уточнения на языке запросов. Общий пример см. в шаблоне.
Внешние события
//+ Заполнение любых особых полей сертификата сразу после создания
// Ссылка - ссылка на документ учётной базы, выступающий основанием
// ОбъектСертификата - объект заполняемого сертификата
Процедура ДозаполнитьПоляВетСертификата1С(Ссылка, ОбъектСертификата) Экспорт
//+ Заполнение любых особых полей сертификата сразу после записи
Функция ДозаполнитьПоляВетСертификата1СПослеЗаписи(Ссылка, ОбъектСертификата) Экспорт
//+ Дозаполнение документов при разборе в очереди до регистрации
// имеет смысл при использовании последовательной регистрации
Процедура ДозаполнитьПоляВетСертификатов1СПоОчереди(СсылкаНаСертификат) Экспорт
//+ При проведении вет сертификата, после формирования движений
// позволяет скорректировать подчиненные сертификаты после определения партий
// имеет смысл при использовании последовательной регистрации
// см. типовые решения "перемещение", "реализация из производства" и "удалённое производство"
Процедура ДействияПослеПроведенияВетСертификата(Объект, Движения) Экспорт
//+ Перед регистрацией сертификата
// выполняется перед регистрацией пачки однотипных сертификатов по документу основанию
Процедура ДействияПередРегистрациейВетСертификата(Основание, ВидДокумента) Экспорт
//+ После успешной регистрации сертификата
// позволяет скорректировать подчиненные сертификаты после подтверждения регистрации и получения ГУИДа
// имеет смысл при использовании последовательной регистрации
Процедура ДействияПослеРегистрацииВетСертификата(Ссылка, Обработка) Экспорт
Активирующие функции
//+ Создание ветеринарных документов на основании, возвращает количество созданных сертификатов
// позволяет встроиться в процесс для формирования комплексных цепоцек
Функция СоздатьВетДокиПоОснованию(Обработка, Документ, ВидДокумента=Неопределено) Экспорт
СписСерт = Обработка.СформироватьОбновитьСертификаты1С(Документ, ВидДокумента).Количество();
Возврат СписСерт;
КонецФункции
//+ Регистрация ветеринарного документа по основанию
Процедура ЗарегистрироватьПоОснованию(Обработка, ВидДокумента, Документ) Экспорт
Если ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Входящий Тогда
Обработка.ЗарегистрироватьВходящуюПартию(Документ);
ИначеЕсли ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Исходящий Тогда
Обработка.ЗарегистрироватьТранспортнуюПартию(Документ);
ИначеЕсли ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Производственный Тогда
Обработка.ЗарегистрироватьПроизводственнуюПартию(Документ);
ИначеЕсли ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Инвентаризация Тогда
Обработка.ЗарегистрироватьИнвентаризацию(Документ);
КонецЕсли;
КонецПроцедуры
//+ Проведение ветеринарного документа по основанию
Процедура ПровестиПоОснованию(Обработка, ВидДокумента, Документ) Экспорт
СписВетДок = АСП_Функции.ПолучитьСписокВетДокументов(Документ);
Для Каждого ВетДок Из СписВетДок Цикл
Объект = ВетДок.ПолучитьОбъект();
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
КонецЦикла;
КонецПроцедуры
Расширение интерфейса обработки
//+ расширения таблицы документов
Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт
Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт
описание |
Возможность расширить табличную часть выборки документов в обработке программным способом. Только для обычных форм.
- Таб - таблица значений с данными
- ТабФормы - элемент формы для отображения таблицы значений
- ВидДокумента - справочник вид сертификата
Пример:
// добавление колонки с производимой продукцией
Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт
АСП_Функции.ДобавитьКолонку(Таб, ТабФормы, 4, "Продукция", Тип("СправочникСсылка.Номенклатура"));
ТабФормы.Продукция.Видимость = ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Производственный;
КонецПроцедуры
Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ОтчетПроизводстваЗаСмену") И Документ.Продукция.Количество()>0 Тогда
Строка.Продукция = Документ.Продукция[0].Номенклатура;
КонецЕсли;
КонецПроцедуры
Синхронизация регистров сведений
// подписка на запись справочников, причастных к работе в Меркурии
Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт
описание |
Требуется обеспечения целостности данных, а именно дополнительных реквизитов Меркурия, хранящихся в регистрах сведений, а также их частичного автоматического заполнения.
См. пример в [[компоненты:шаблон|шаблоне]].
Доступ к обработке
// Загрузка внешней обработки в параллельный контекст
Функция ПолучитьОбъектОбработки() Экспорт
описание |
Внешняя обработка содержит транспортный модуль, который используется в разных местах интеграции. Для этого необходимо обеспечить подсистеме постоянный доступ к файлу обработки для загрузки и обращения.
Шаблон содержит несколько возможных решений по реализации данной проблемы.