0. ids79 4065 16.11.18 21:23 Сейчас в теме

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Xershi 709 17.11.18 00:00 Сейчас в теме
Вместо расширения нужно использовать подмену правил обмена. Посмотрите уроки гилева по КД 3.
5. ArchLord42 68 19.11.18 05:03 Сейчас в теме
(1) Все зависит от масштабов доработки.

1) Если она мелкая, скорректировать выгрузку реквизита например, то тянуть из-за этого весь модуль, а потом отдельно его поддерживать это такое себе удовольствие.
2) Если изменений много, тут вопросов нет :)
2. ids79 4065 17.11.18 11:59 Сейчас в теме
Добрый день, Максим.
Спасибо за комментарий.
Как я понял, Вы имеете в виду подключить внешнюю обработку с правилами к элементу плана обмена?
Как вариант, можно так сделать.
Но мне кажеться, что преимуществом моего варианта будет то, что не придеться обновлять правила из обработки после обновлений конфигурации. Нужно будет только проверить переопределенную процедуру.
3. Lok`Tar 42 18.11.18 19:59 Сейчас в теме
4. acanta 67 18.11.18 20:03 Сейчас в теме
Нда.. EnterpriseData есть, а конвертация данных 3 ему как собаке пятая нога. Может как нибудь во 2-ю конвертацию можно сделать некую конфигурацию, состоящую из XDTO пакета.Ну это так, фантазии..
8. kembrik 3 19.11.18 12:19 Сейчас в теме
(4) Гмм. ну почему же, конвертацией данных 3 вполне можно пользоваться в том же режиме, как и во 2 версии. Правила сохранили в файл - прикрепили к обработчику, подменив обычные. Это народ просто не умеет толком подменой, вот и вставляет зловещие директивы "вместо", хотя можно было бы добавить в расширение общий модуль полностью, а в МенеджереОбменаУт и сделать замену
&Вместо("ДоступныеВерсииУниверсальногоФормата")
Процедура Наш_ДоступныеВерсииУниверсальногоФормата(ВерсииФормата)
	
	ВерсииФормата.Вставить("1.2", МенеджерОбменаЧерезУниверсальныйФормат);
	ВерсииФормата.Вставить("1.3", Наш_МенеджерОбменаЧерезУниверсальныйФормат);
	ВерсииФормата.Вставить("1.4", Наш_МенеджерОбменаЧерезУниверсальныйФормат);
	ВерсииФормата.Вставить("1.5", Наш_МенеджерОбменаЧерезУниверсальныйФормат);
	ВерсииФормата.Вставить("1.6", Наш_МенеджерОбменаЧерезУниверсальныйФормат);
	
КонецПроцедуры
Показать
11. ids79 4065 19.11.18 13:40 Сейчас в теме
(8)Да, так можно сделать.
Но тогда, как и в случае с вынесением модуля во внешнюю обработку, придеться обновлять этот модуль после обновления конфигурации.
Здесь вопрос с объемом доработок, если их мало - предпочтительнее мой вариант, если много - Ваш.
12. kembrik 3 19.11.18 14:49 Сейчас в теме
(11) Типовые правила обмена через ED, мягко скажем, отвратительны, особенно если речь идет про нестандартные направления, из УТ в УТ, из Бухгалтерии в УТ и т.д. Я сам долгое время лепил заплатки в расширениях точечно, но как только возникает необходимость добавить новое направление или объект - тут то и возникают сложности при данном способе. Можно использовать его только как быстрый фикс новой проблемы, а потом уже переносить во "взрослый", полный модуль обмена.
6. dmitryburykin 19.11.18 10:58 Сейчас в теме
Вы писали:
"Для решения первой задачи добавим дополнительный реквизит: Договор контрагента в справочник: Эквайринговые терминалы, который выбирается в списке оплат платежными картами в документе: Отчет о розничных продажах. К сожалению, в режиме совместимости, который используется в актуальных типовых конфигурациях (8.3.10) нельзя добавлять реквизиты у заимствованных объектов, поэтому добавим его в основную конфигурацию."
Если для каждого магазина используется один договор, то можно было не менять конфигурацию, а добавить и заполнить Доп. реквизит/ Доп. свойство для магазина - "Договор эквайринга"?
7. kembrik 3 19.11.18 12:10 Сейчас в теме
(6) Тоже обратил внимание на данное изобретение велосипеда. Но тогда статья была бы намного короче). Даже не к магазину можно добавлять а непосредственно к справочнику ЭквайринговыеТерминалы, как в статье, но не снимая конфу с поддержки. Проверил - договор к нему можно добавить "из коробки"
10. ids79 4065 19.11.18 13:36 Сейчас в теме
(7)
Но тогда статья была бы намного короче)

Короче, но не на много.
В основном описывается сам перенос, а дополнительные реквизиты эквайриногово терминала стандартно не переносятся.
13. kembrik 3 19.11.18 15:00 Сейчас в теме
(10) Мне кажется, использовать ДополнительныеРеквизиты можно только в ограниченных случаях, (если в формате обмена у объекта отсутствует базовый тип "Object" пакета ExchangeMessage) и обмен с использованием AdditionalInfo сделать нельзя. Потому что если переносимому объекту в приёмнике этот допреквизит не нужен абсолютно (например есть подходящий в документе) , то его надо будет после переноса удалять из табличной части, а это лишние телодвижения.
9. ids79 4065 19.11.18 13:34 Сейчас в теме
(6)Спасибо за комментарий, Дмитрий.
Точно, можно добавить дополнительный реквизит в справочник: Эквайринговые терминалы. Тогда конфигурацию не нужно снимать с поддержки.
Почему-то я не подумал об этом.
14. b-k-v 19.11.18 18:00 Сейчас в теме
Добрый день.
Если не сложно скиньте пожалуйста скрин релизов УТ 11 начиная с 11_3_4_228
Пример во вложении, только для другой конфы
Спасибо.
Прикрепленные файлы:
16. nazirovramzil 20.11.18 07:18 Сейчас в теме
17. b-k-v 20.11.18 10:32 Сейчас в теме
15. nazirovramzil 20.11.18 07:17 Сейчас в теме
Держите
Прикрепленные файлы:
18. user619273_alevtina 30.12.18 17:23 Сейчас в теме
Спасибо, полезная информация и главное вовремя.
19. user1080864 05.09.19 15:01 Сейчас в теме
Спасибо за статью но все равно не понятно. )))
Если у меня в УТ есть добавленный регистр, и я хочу тянуть его данные в БП, где я создам такой же регистр...
Как мне быть в этом случае с универсальным обменом?
20. ids79 4065 05.09.19 15:11 Сейчас в теме
Если новый регистр сведений, то есть несколько способов:
1. Найти в формате объект с максимально похожими полями и использовать его.
2. Запаковывать все данные регистра в текст и передавать в текстовом поле любого объекта. Потом при получении распаковывать.
3. Добавить в формат новый объект с нужными полями, через который и делать обмен.
user1080864; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1C
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 160 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день