Асп общие: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки |
Shihov (обсуждение | вклад) Нет описания правки |
||
Строка 11: | Строка 11: | ||
Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт | Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Должна возвращать запрос с полями | Должна возвращать запрос с полями '''Ссылка''' и '''Владелец''', где | ||
'Ссылка | |||
'Владелец | |||
* Ссылка используется в качестве поднадзорного | * Ссылка используется в качестве поднадзорного | ||
* Владелец - в качестве хозяйствующего | * Владелец - в качестве хозяйствующего | ||
Параметр | Параметр '''Поместить''' указывает, должен ли быть помещён запрос в виртуальную таблицу '''Ссылки'''. | ||
'Поместить | |||
'Ссылки | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 48: | Строка 40: | ||
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить); | | АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить); | ||
</1c> | </1c> | ||
<1c> | <1c> | ||
Строка 55: | Строка 47: | ||
Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт | Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Должна возвращать запрос с полями | Должна возвращать запрос с полями '''Ссылка''' и '''Владелец''', где | ||
'Ссылка | |||
'Владелец | |||
* Ссылка используется в качестве поднадзорного | * Ссылка используется в качестве поднадзорного | ||
* Владелец - в качестве хозяйствующего | * Владелец - в качестве хозяйствующего | ||
Параметр | Параметр '''Поместить''' указывает, должен ли быть помещён запрос в виртуальную таблицу '''Ссылки'''. | ||
'Поместить | |||
'Ссылки | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Пример: | Пример: | ||
Строка 81: | Строка 65: | ||
| АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить); | | АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить); | ||
</1c> | </1c> | ||
<1c> | <1c> | ||
// Функция, возвращающая запрос товаров для универсального отбора | // Функция, возвращающая запрос товаров для универсального отбора | ||
Строка 87: | Строка 71: | ||
Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт | Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Запрос должен возвращать одно поле | Запрос должен возвращать одно поле '''Ссылка'''. | ||
'Ссылка | * '''ВидСправочника''' - название вида справочника 1С, выбранного интерактивно | ||
* '''Поместить''' - режим помещения запроса в виртуальную таблицу | |||
* | |||
'ВидСправочника | |||
* | |||
'Поместить | |||
:!: Для иерархического отображения запрос не должен содержать соединений. | :!: Для иерархического отображения запрос не должен содержать соединений. | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 112: | Строка 90: | ||
| Справочник."+ВидСправочника+" КАК Номенклатура", Поместить); | | Справочник."+ВидСправочника+" КАК Номенклатура", Поместить); | ||
</1c> | </1c> | ||
==== Подготовка к ХС/ПС к регистрации ==== | ==== Подготовка к ХС/ПС к регистрации ==== | ||
Строка 121: | Строка 99: | ||
Функция НаименованиеПолное(Контрагент) Экспорт | Функция НаименованиеПолное(Контрагент) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.<br/>Используется только в запросах на регистрацию в Меркурии. | Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.<br/>Используется только в запросах на регистрацию в Меркурии. | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 132: | Строка 110: | ||
Возврат Контрагент.Наименование; | Возврат Контрагент.Наименование; | ||
</1c> | </1c> | ||
<1c> | <1c> | ||
Строка 138: | Строка 116: | ||
Функция НаименованиеТовара(Товар) Экспорт | Функция НаименованиеТовара(Товар) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Функция получает ссылку на товар и возвращает его наименование. Используется при регистрации номенклатуры в Меркурии с наименованием, отличающимся от стандартного. Полезно в применении с характеристиками номенклатуры. | Функция получает ссылку на товар и возвращает его наименование. Используется при регистрации номенклатуры в Меркурии с наименованием, отличающимся от стандартного. Полезно в применении с характеристиками номенклатуры. | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 150: | Строка 128: | ||
КонецЕсли; | КонецЕсли; | ||
</1c> | </1c> | ||
<1c> | <1c> | ||
Строка 160: | Строка 138: | ||
Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт | Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами. | Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами. | ||
* | * '''Ссылка''' - ссылка на элемент справочника | ||
'Ссылка | * '''ТипАдреса''' - Юридический / Фактический | ||
* '''Адрес''' - новый адрес строкой | |||
* | |||
'ТипАдреса | |||
* | |||
'Адрес | |||
Функция также возвращает адрес строкой.<br/>Используются в интеллектуальном механизме поиска реквизитов для регистрации контрагентов в системе Меркурий.<br/><syntaxhighlight lang='bash'> | Функция также возвращает адрес строкой.<br/>Используются в интеллектуальном механизме поиска реквизитов для регистрации контрагентов в системе Меркурий.<br/><syntaxhighlight lang='bash'> | ||
Пример см. в [[компоненты:шаблон|шаблоне]]. | Пример см. в [[компоненты:шаблон|шаблоне]]. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <1c> | ||
Строка 180: | Строка 152: | ||
Функция КодОКПФ(Ссылка) Экспорт | Функция КодОКПФ(Ссылка) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события | Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события '''АСП_ЗаписьСправочниковПриЗаписи'''.<br/><syntaxhighlight lang='bash'> | ||
'АСП_ЗаписьСправочниковПриЗаписи | |||
Пример см. в [[компоненты:шаблон|шаблоне]]. | Пример см. в [[компоненты:шаблон|шаблоне]]. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <1c> | ||
Строка 195: | Строка 165: | ||
Функция ТипКонтрагента(Ссылка) Экспорт | Функция ТипКонтрагента(Ссылка) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события | Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).<br/>Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.<br/>Вызывается только из события '''АСП_ЗаписьСправочниковПриЗаписи'''.<br/><syntaxhighlight lang='bash'> | ||
'АСП_ЗаписьСправочниковПриЗаписи | |||
Пример см. в [[компоненты:шаблон|шаблоне]]. | Пример см. в [[компоненты:шаблон|шаблоне]]. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Запросы документов ==== | ==== Запросы документов ==== | ||
Строка 213: | Строка 181: | ||
Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт | Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Функции, возвращающие двухуровневый запрос по документам и табличным частям.<br/>Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.<br/><syntaxhighlight lang='bash'> | Функции, возвращающие двухуровневый запрос по документам и табличным частям.<br/>Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.<br/><syntaxhighlight lang='bash'> | ||
Правила построения запроса: | Правила построения запроса: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- запрос должен выбирать ссылки из виртуальной таблицы | - запрос должен выбирать ссылки из виртуальной таблицы '''СсылкиВет''', которая подготавливается заранее динамическим фильтром; | ||
'СсылкиВет | - для универсальности выборка может иметь левое соединение с таблицами документа '''РеализацияТоваровУслуг''', который заменится на '''правильный''' для выполнения запроса автоматически; | ||
- запрос должен возвращать поля '''Ссылка''', '''Номенклатура''', '''Количество''', '''КоличествоУпаковок''' и '''Сумма''', сгруппированные по '''Ссылка'''; | |||
- для универсальности выборка может иметь левое соединение с таблицами документа | - запрос также может возвращать поля '''Категория''', '''Единица''', '''Упаковка''', '''ДатаВыработки''' и прочие поля для заполнения табличных частей сертификата. | ||
'РеализацияТоваровУслуг | |||
- запрос должен возвращать поля | |||
'Ссылка | |||
'Номенклатура | |||
'Количество | |||
'КоличествоУпаковок | |||
'Сумма | |||
'Ссылка | |||
- запрос также может возвращать поля | |||
'Категория | |||
'Единица | |||
'Упаковка | |||
'ДатаВыработки | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Логика функций: | Логика функций: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | * '''ЗапросТаблицыТоваров''' - универсальная функция, возвращающая запрос для заполнения таблицы документов в обработке для всех видов документов, а также возвращающая таблицы товаров для заполнения '''входящих''' и '''исходящих''' сертификатов. | ||
'ЗапросТаблицыТоваров | * '''ЗапросТаблицыПродукции''' и '''ЗапросТаблицыСырья''' - используются только при заполнении производственных сертификатов. | ||
* '''ЗапросТаблицыОприходования''' и '''ЗапросТаблицыСписания''' - используются только при заполнении инвентаризаций. | |||
'входящих | |||
'исходящих | |||
* | |||
'ЗапросТаблицыПродукции | |||
'ЗапросТаблицыСырья | |||
* | |||
'ЗапросТаблицыОприходования | |||
'ЗапросТаблицыСписания | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Пример см. в [[компоненты:шаблон|шаблоне]]. В примере используется один общий запрос, незначительно модифицируемый для всех видов документов. | Пример см. в [[компоненты:шаблон|шаблоне]]. В примере используется один общий запрос, незначительно модифицируемый для всех видов документов. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<1c> | <1c> | ||
// получение контрагента документа вместе с ссылкой | // получение контрагента документа вместе с ссылкой | ||
Функция ЗапросКонтрагентаДокумента(ВидДокумента) Экспорт | Функция ЗапросКонтрагентаДокумента(ВидДокумента) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Опциональная функция | Опциональная функция | ||
</syntaxhighlight>. Позволяет использовать в качестве контрагента для сертификатов (поднадзорного) любой реквизит исходного документа с помощью уточнения на языке запросов. Общий пример см. в [[компоненты:шаблон|шаблоне]]. | </syntaxhighlight>. Позволяет использовать в качестве контрагента для сертификатов (поднадзорного) любой реквизит исходного документа с помощью уточнения на языке запросов. Общий пример см. в [[компоненты:шаблон|шаблоне]]. | ||
==== Внешние события ==== | ==== Внешние события ==== | ||
Строка 352: | Строка 282: | ||
Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт | Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Возможность расширить табличную часть выборки документов в обработке программным способом. | Возможность расширить табличную часть выборки документов в обработке программным способом. '''Только для обычных форм'''. | ||
'Только для обычных форм | * '''Таб''' - таблица значений с данными | ||
* '''ТабФормы''' - элемент формы для отображения таблицы значений | |||
* | * '''ВидДокумента''' - справочник вид сертификата | ||
'Таб | |||
* | |||
'ТабФормы | |||
* | |||
'ВидДокумента | |||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Строка 382: | Строка 304: | ||
КонецПроцедуры | КонецПроцедуры | ||
</1c> | </1c> | ||
==== Синхронизация регистров сведений ==== | ==== Синхронизация регистров сведений ==== | ||
Строка 390: | Строка 312: | ||
Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт | Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Требуется обеспечения целостности данных, а именно дополнительных реквизитов Меркурия, хранящихся в регистрах сведений, а также их частичного автоматического заполнения. | Требуется обеспечения целостности данных, а именно дополнительных реквизитов Меркурия, хранящихся в регистрах сведений, а также их частичного автоматического заполнения. | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
См. пример в [[компоненты:шаблон|шаблоне]]. | См. пример в [[компоненты:шаблон|шаблоне]]. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Доступ к обработке ==== | ==== Доступ к обработке ==== | ||
Строка 402: | Строка 324: | ||
Функция ПолучитьОбъектОбработки() Экспорт | Функция ПолучитьОбъектОбработки() Экспорт | ||
</1c> | </1c> | ||
описание | | |||
Внешняя обработка содержит транспортный модуль, который используется в разных местах интеграции. Для этого необходимо обеспечить подсистеме постоянный доступ к файлу обработки для загрузки и обращения.<br/>Шаблон содержит несколько возможных решений по реализации данной проблемы. | Внешняя обработка содержит транспортный модуль, который используется в разных местах интеграции. Для этого необходимо обеспечить подсистеме постоянный доступ к файлу обработки для загрузки и обращения.<br/>Шаблон содержит несколько возможных решений по реализации данной проблемы. | ||
[[Category:Компоненты]] | [[Category:Компоненты]] | ||
<vote type=1 /> | <vote type=1 /> |
Версия от 07:59, 28 марта 2025
Общий модуль АСП_Общие
Содержит персональные процедуры и функции интеграции клиента. Единственный модуль, рекомендуемый к изменению в процессе интеграции.
При новой интеграции необходимо проверить каждую функцию модуля а адаптировать поведение под требуемую логику.
При обновлении конфигурации по шаблону требуется уделять ему особое внимание.
Описание процедур и функций
Выборки по справочникам
<1c> // Функция, возвращающая запрос для выборки поднадзорных организаций // Используется при построении динамического отбора и заполнения таблицы организаций в обработке Функция ЗапросПоднадзорныхОрганизаций(Поместить=Ложь) Экспорт </1c>
описание |
Должна возвращать запрос с полями Ссылка и Владелец, где
- Ссылка используется в качестве поднадзорного
- Владелец - в качестве хозяйствующего
Параметр Поместить указывает, должен ли быть помещён запрос в виртуальную таблицу Ссылки.
Примеры:
<1c> // Вариант с использованием одного справочника Возврат ПоместитьЗапрос( "ВЫБРАТЬ | Организации.Ссылка, | Организации.Ссылка КАК Владелец |ИЗ | Справочник.Организации КАК Организации", Поместить); </1c> <1c> // Вариант с извлечением данных из регистра напрямую в случае множества справочников Возврат ПоместитьЗапрос( "ВЫБРАТЬ | АСП_Поднадзорные.Ссылка, | АСП_Поднадзорные.Владелец |ИЗ | РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные |ГДЕ | АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Организации", Поместить); </1c>
<1c>
// Функция, возвращающая запрос для выборки поднадзорных контрагентов
// Используется при построении динамического отбора и заполнения таблицы контрагентов в обработке
Функция ЗапросПоднадзорныхКонтрагентов(Поместить=Ложь) Экспорт
</1c>
описание |
Должна возвращать запрос с полями Ссылка и Владелец, где
- Ссылка используется в качестве поднадзорного
- Владелец - в качестве хозяйствующего
Параметр Поместить указывает, должен ли быть помещён запрос в виртуальную таблицу Ссылки.
Пример:
<1c> // универсальная выборка из регистра Возврат ПоместитьЗапрос( "ВЫБРАТЬ | * |ИЗ | РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные |ГДЕ | АСП_Поднадзорные.Владелец ССЫЛКА Справочник.Контрагенты", Поместить); </1c>
<1c> // Функция, возвращающая запрос товаров для универсального отбора // и заполнения таблицы товаров в обработке Функция ЗапросТоваров(ВидСправочника = Неопределено, Поместить=Ложь) Экспорт </1c>
описание |
Запрос должен возвращать одно поле Ссылка.
- ВидСправочника - название вида справочника 1С, выбранного интерактивно
- Поместить - режим помещения запроса в виртуальную таблицу
- !: Для иерархического отображения запрос не должен содержать соединений.
Пример:
<1c> Если ВидСправочника = Неопределено Тогда ВидСправочника = "Номенклатура"; КонецЕсли; Возврат ПоместитьЗапрос( "ВЫБРАТЬ | Номенклатура.Ссылка | Номенклатура.Наименование КАК Представление |ИЗ | Справочник."+ВидСправочника+" КАК Номенклатура", Поместить); </1c>
Подготовка к ХС/ПС к регистрации
<1c> // Получить полное наименование // для регистрации контрагентов в системе Меркурий Функция НаименованиеПолное(Контрагент) Экспорт </1c>
описание |
Функция получает ссылку на контрагента (хозяйствующего или поднадзорного) и возвращает строковое представление.
Используется только в запросах на регистрацию в Меркурии.
Пример:
<1c> Если ТипЗнч(Контрагент) = Тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты") Тогда Возврат Контрагент.НаименованиеПолное; КонецЕсли; Возврат Контрагент.Наименование; </1c>
<1c>
//* Получить полное наименование товара
Функция НаименованиеТовара(Товар) Экспорт
</1c>
описание |
Функция получает ссылку на товар и возвращает его наименование. Используется при регистрации номенклатуры в Меркурии с наименованием, отличающимся от стандартного. Полезно в применении с характеристиками номенклатуры.
Пример:
<1c> Если Метаданные.Справочники.Найти("ХарактеристикиНоменклатуры")<>Неопределено И ТипЗнч(Товар)= Тип("СправочникСсылка.ХарактеристикиНоменклатуры") тогда Возврат Товар.Владелец.НаименованиеПолное + " ("+Товар.Наименование+")"; Иначе Возврат Товар.Наименование; КонецЕсли; </1c>
<1c>
//* Получить адрес организации/контрагента
// ТипАдрес = "Юридический" / "Фактический"
Функция ПолучитьАдрес(Объект, ТипАдреса) Экспорт
//* Установить адрес организации/контрагента Процедура УстановитьАдрес(Ссылка, ТипАдреса, Адрес) Экспорт </1c>
описание |
Функции получения и установки адресов в карточки контрагентов, связанные хозяйствующими и поднадзорными субъектами.
- Ссылка - ссылка на элемент справочника
- ТипАдреса - Юридический / Фактический
- Адрес - новый адрес строкой
Функция также возвращает адрес строкой.
Используются в интеллектуальном механизме поиска реквизитов для регистрации контрагентов в системе Меркурий.
Пример см. в [[компоненты:шаблон|шаблоне]].
<1c>
//* функция получения кода ОКПФ, специфичного для конфигурации
Функция КодОКПФ(Ссылка) Экспорт
</1c>
описание |
Функция возвращает код по ОКПФ по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).
Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.
Вызывается только из события АСП_ЗаписьСправочниковПриЗаписи.
Пример см. в [[компоненты:шаблон|шаблоне]].
<1c>
//* Тип создаваемого или редактируемого хозяйствующего субъекта:
//1 - юридическое лицо;
//2 - физическое лицо;
//3 - индивидуальный предприниматель.
Функция ТипКонтрагента(Ссылка) Экспорт
</1c>
описание |
Функция возвращает код типа субъекта по ссылке на элемент справочника хозяйствующего субъекта (Организации, Контрагенты).
Используется для заполнения поля хозяйствующего субъекта для регистрации в Меркурии.
Вызывается только из события АСП_ЗаписьСправочниковПриЗаписи.
Пример см. в [[компоненты:шаблон|шаблоне]].
Запросы документов
<1c> //* Получение таблицы товаров от конфигурации Функция ЗапросТаблицыТоваров(ВидДокумента = Неопределено) Экспорт Функция ЗапросТаблицыПродукции(ВидДокумента = Неопределено) Экспорт Функция ЗапросТаблицыСырья(ВидДокумента = Неопределено) Экспорт Функция ЗапросТаблицыОприходования(ВидДокумента = Неопределено) Экспорт Функция ЗапросТаблицыСписания(ВидДокумента = Неопределено) Экспорт </1c>
описание |
Функции, возвращающие двухуровневый запрос по документам и табличным частям.
Используется при интерактивном заполнении таблицы документов в обработке, а также при формировании сертификатов.
Правила построения запроса:
- запрос должен выбирать ссылки из виртуальной таблицы СсылкиВет, которая подготавливается заранее динамическим фильтром; - для универсальности выборка может иметь левое соединение с таблицами документа РеализацияТоваровУслуг, который заменится на правильный для выполнения запроса автоматически; - запрос должен возвращать поля Ссылка, Номенклатура, Количество, КоличествоУпаковок и Сумма, сгруппированные по Ссылка; - запрос также может возвращать поля Категория, Единица, Упаковка, ДатаВыработки и прочие поля для заполнения табличных частей сертификата.
Логика функций:
- ЗапросТаблицыТоваров - универсальная функция, возвращающая запрос для заполнения таблицы документов в обработке для всех видов документов, а также возвращающая таблицы товаров для заполнения входящих и исходящих сертификатов.
- ЗапросТаблицыПродукции и ЗапросТаблицыСырья - используются только при заполнении производственных сертификатов.
- ЗапросТаблицыОприходования и ЗапросТаблицыСписания - используются только при заполнении инвентаризаций.
Пример см. в [[компоненты:шаблон|шаблоне]]. В примере используется один общий запрос, незначительно модифицируемый для всех видов документов.
<1c> // получение контрагента документа вместе с ссылкой Функция ЗапросКонтрагентаДокумента(ВидДокумента) Экспорт </1c>
описание |
Опциональная функция
. Позволяет использовать в качестве контрагента для сертификатов (поднадзорного) любой реквизит исходного документа с помощью уточнения на языке запросов. Общий пример см. в шаблоне.
Внешние события
<1c> //+ Заполнение любых особых полей сертификата сразу после создания // Ссылка - ссылка на документ учётной базы, выступающий основанием // ОбъектСертификата - объект заполняемого сертификата Процедура ДозаполнитьПоляВетСертификата1С(Ссылка, ОбъектСертификата) Экспорт
//+ Заполнение любых особых полей сертификата сразу после записи Функция ДозаполнитьПоляВетСертификата1СПослеЗаписи(Ссылка, ОбъектСертификата) Экспорт
//+ Дозаполнение документов при разборе в очереди до регистрации // имеет смысл при использовании последовательной регистрации Процедура ДозаполнитьПоляВетСертификатов1СПоОчереди(СсылкаНаСертификат) Экспорт
//+ При проведении вет сертификата, после формирования движений // позволяет скорректировать подчиненные сертификаты после определения партий // имеет смысл при использовании последовательной регистрации // см. типовые решения "перемещение", "реализация из производства" и "удалённое производство" Процедура ДействияПослеПроведенияВетСертификата(Объект, Движения) Экспорт
//+ Перед регистрацией сертификата // выполняется перед регистрацией пачки однотипных сертификатов по документу основанию Процедура ДействияПередРегистрациейВетСертификата(Основание, ВидДокумента) Экспорт
//+ После успешной регистрации сертификата // позволяет скорректировать подчиненные сертификаты после подтверждения регистрации и получения ГУИДа // имеет смысл при использовании последовательной регистрации Процедура ДействияПослеРегистрацииВетСертификата(Ссылка, Обработка) Экспорт </1c>
Активирующие функции
<1c> //+ Создание ветеринарных документов на основании, возвращает количество созданных сертификатов // позволяет встроиться в процесс для формирования комплексных цепоцек Функция СоздатьВетДокиПоОснованию(Обработка, Документ, ВидДокумента=Неопределено) Экспорт СписСерт = Обработка.СформироватьОбновитьСертификаты1С(Документ, ВидДокумента).Количество(); Возврат СписСерт; КонецФункции
//+ Регистрация ветеринарного документа по основанию Процедура ЗарегистрироватьПоОснованию(Обработка, ВидДокумента, Документ) Экспорт Если ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Входящий Тогда Обработка.ЗарегистрироватьВходящуюПартию(Документ); ИначеЕсли ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Исходящий Тогда Обработка.ЗарегистрироватьТранспортнуюПартию(Документ); ИначеЕсли ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Производственный Тогда Обработка.ЗарегистрироватьПроизводственнуюПартию(Документ); ИначеЕсли ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Инвентаризация Тогда Обработка.ЗарегистрироватьИнвентаризацию(Документ); КонецЕсли; КонецПроцедуры
//+ Проведение ветеринарного документа по основанию Процедура ПровестиПоОснованию(Обработка, ВидДокумента, Документ) Экспорт СписВетДок = АСП_Функции.ПолучитьСписокВетДокументов(Документ);
Для Каждого ВетДок Из СписВетДок Цикл Объект = ВетДок.ПолучитьОбъект(); Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); КонецЦикла; КонецПроцедуры </1c>
Расширение интерфейса обработки
<1c> //+ расширения таблицы документов Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт </1c>
описание |
Возможность расширить табличную часть выборки документов в обработке программным способом. Только для обычных форм.
- Таб - таблица значений с данными
- ТабФормы - элемент формы для отображения таблицы значений
- ВидДокумента - справочник вид сертификата
Пример:
<1c> // добавление колонки с производимой продукцией Процедура РасширитьТабДокументов(Таб, ТабФормы, ВидДокумента) Экспорт АСП_Функции.ДобавитьКолонку(Таб, ТабФормы, 4, "Продукция", Тип("СправочникСсылка.Номенклатура")); ТабФормы.Продукция.Видимость = ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Производственный; КонецПроцедуры
Процедура ЗаполнитьСтрокуТабДокументов(Строка, Документ, ВидДокумента) Экспорт Если ТипЗнч(Документ) = Тип("ДокументСсылка.ОтчетПроизводстваЗаСмену") И Документ.Продукция.Количество()>0 Тогда Строка.Продукция = Документ.Продукция[0].Номенклатура; КонецЕсли; КонецПроцедуры </1c>
Синхронизация регистров сведений
<1c> // подписка на запись справочников, причастных к работе в Меркурии Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт </1c>
описание |
Требуется обеспечения целостности данных, а именно дополнительных реквизитов Меркурия, хранящихся в регистрах сведений, а также их частичного автоматического заполнения.
См. пример в [[компоненты:шаблон|шаблоне]].
Доступ к обработке
<1c> // Загрузка внешней обработки в параллельный контекст Функция ПолучитьОбъектОбработки() Экспорт </1c>
описание |
Внешняя обработка содержит транспортный модуль, который используется в разных местах интеграции. Для этого необходимо обеспечить подсистеме постоянный доступ к файлу обработки для загрузки и обращения.
Шаблон содержит несколько возможных решений по реализации данной проблемы.