Действия
Разработка #6670
открытоРеализовать универсальную функцию для переопределения полей запроса под различные конфигурации
Разработка #6670:
Реализовать универсальную функцию для переопределения полей запроса под различные конфигурации
Добавил(а) кб99 Евгений 2 месяца назад. Обновлено 2 месяца назад.
Дата начала:
Срок завершения:
Готовность:
0%
Оценка временных затрат:
Обновлено кб99 Евгений 2 месяца назад
· Изменено
Действия
#1
Реализован упрощенный механизм адаптации интеграции под любую конфигурацию.
В общем модуле кб99_ВСД_Общий все возможные поля, по которым могут быть расхождения в различных конфигурациях вынесены в переопределяемые функции:
Функция ПолучитьПредставлениеПолейДокументаВЗапрос()
Возвращает структуру с наименованиями объектов метаданных для использования в запросах
Ключи структуры:
ПолеСклад = Название справочника Склады в конфигураторе
ТекстПоляГоловнойКонтрагент = Определение плательщика
НаименованиеТабличнойЧастиТовары = Название табличной части с товарами в документах
ТекстПоляИсточникОтгрузка = Название документа Реализация в конфигураторе
ТекстПоляИсточникЗаказ = Название документа Заказ клиента в конфигураторе
ТекстПоляИсточникПеремещение = Название документа Перемещение в конфигураторе
ПолеСкладОтправитель = Название реквизита Склад отправитель документа Перемещение
ПолеСкладПолучатель = Название реквизита Склад получатель документа Перемещение
СправочникСклады = Название справочника Склады в конфигураторе
Функция ЭтоДокументПеремещение(ВыбДок)
Возвращает результат проверки Тип проверяемого документа = документ перемещение
Функция ЭтоДокументОтгрузка(ВыбДок)
Возвращает результат проверки Тип проверяемого документа = документ реализация
Функция ПолучитьТекущегоПользователя()
Возвращает текущего авторизованного пользователя
Для адаптации интеграции необходимо переопределять только эти функции. Функции с запросами остаются общими.
Обновлено кб99 Евгений 2 месяца назад
Действия
#2
Для УНФ модуль переопределения будет выглядеть так
// Модуль используется для переопределения стандартный функций модуля Интеграции
// чтобы при обновлении изменения сохранились - используйте переопределение в этом модуле
// переопределение функций модуля
Функция НайтиФункцию( ИмяФункции ) Экспорт
ПереопределяемыеФункции = новый Структура;
ПереопределяемыеФункции.Вставить("ЭтоДокументОтгрузка", Истина);
ПереопределяемыеФункции.Вставить("ЭтоДокументПеремещение", Истина);
ПереопределяемыеФункции.Вставить("ПолучитьПредставлениеПолейДокументаВЗапрос", Истина);
Результат = ПереопределяемыеФункции.Свойство( ИмяФункции );
Возврат Результат;
КонецФункции
Функция ЭтоДокументОтгрузка(ВыбДок) Экспорт
Возврат ТипЗнч(ВыбДок) = Тип("ДокументСсылка.РасходнаяНакладная");
КонецФункции
Функция ЭтоДокументПеремещение(ВыбДок) Экспорт
Возврат ТипЗнч(ВыбДок) = Тип("ДокументСсылка.ПеремещениеЗапасов");
КонецФункции
Функция ПолучитьПредставлениеПолейДокументаВЗапрос() Экспорт
Результат = Новый Структура;
Результат.Вставить("ПолеСклад", "Склад");
Результат.Вставить("ТекстПоляГоловнойКонтрагент", "Контрагент.ГоловнойКонтрагент");
Результат.Вставить("НаименованиеТабличнойЧастиТовары", "Запасы");
Результат.Вставить("ТекстПоляИсточникОтгрузка", "РасходнаяНакладная");
Результат.Вставить("ТекстПоляИсточникЗаказ", "ЗаказПокупателя");
Результат.Вставить("ТекстПоляИсточникПеремещение", "ПеремещениеЗапасов");
Результат.Вставить("ПолеСкладОтправитель", "СтруктурнаяЕдиница");
Результат.Вставить("ПолеСкладПолучатель", "СтруктурнаяЕдиницаПолучатель");
Результат.Вставить("СправочникСклады", "СтруктурныеЕдиницы");
Возврат Результат;
КонецФункции
Действия