Конвертация данных. Справочник.СтавкаНДС -> Перечисление.СтавкаНДС

1. PerlAmutor 129 07.11.22 22:29 Сейчас в теме
Коллеги, прошу совета по Конвертации Данных. Переходим на ERP 2.5, стало быть там изменился тип реквизита СтавкаНДС во всех объектах. Теперь это Справочник.СтавкиНДС. Поломались обмены с УПП. Ума не приложу как доработать правила обмена, чтобы при выгрузке Номенклатуры где СтавкаНДС стала справочником на реквизит приемник Перечисление.СтавкаНДС происходило автоматическое преобразование. Что сделать удалось - вытащить реквизит у элемента справочника "ПеречислениеСтавкаНДС", но как дальше его сконвертировать с учетом настроенного ПКС "Перечисление.СтавкиНДС -> Перечисление.СтавкиНДС", если это ПКС не применяется, т.к. у меня теперь настройки "СправочникСсылка.СтавкиНДС -> Перечисление.СтавкиНДС". Вызывать каким-то образом ВыгрузитьПоПравилу() с указанием готового ПКС для перечислений?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 07.11.22 22:47 Сейчас в теме
(1)
Значение = Источник.ПеречислениеСтавкаНДС;
4. PerlAmutor 129 07.11.22 22:52 Сейчас в теме
(2) Насколько я помню, если "Значение" меняется в обработчике, то выбранное ПКС не срабатывает. Да его и выбрать то невозможно, т.к. типы источника и приемника не совпадают, т.ч. ПКС для сопоставления предопределенных значений перечислений НДС просто валяется безхозным.
9. RustamZz 08.11.22 09:45 Сейчас в теме
(4) Неправильно ты дядя Федор колбасу ешь помнишь
Прикрепленные файлы:
3. Sashares 34 07.11.22 22:48 Сейчас в теме
(1)Справочник в перечисление конвертировать просто.
В ПКС - примерно так:
Если Объект.СтавкаНДС = <Тут ссылка на элемент справочника> Тогда
Значение = <Тут имя значения перечисления>
КонецЕсли;


Ну или по коду справочника, или по наименованию сделать условие, чтобы его можно было идентифицировать однозначно и сопоставить со значением перечисления.

Пользуйтесь поиском, минутное же дело.
https://infostart.ru/1c/articles/1293246/?ysclid=la777edrng79733837
5. PerlAmutor 129 07.11.22 22:56 Сейчас в теме
(3) Больше похоже на костыль чем на решение. Ссылки на все элементы справочника придется где-то хранить, т.к. у справочника НДС всего лишь одно предопределенное значение - "БезНДС".
6. Sashares 34 07.11.22 22:58 Сейчас в теме
(5)В любом случае вы должны знать какой элемент справочника с каким элементом перечисления сопоставлять на этапе разработки правил. Какое условие делать, это дело десятое.
7. PerlAmutor 129 07.11.22 23:02 Сейчас в теме
(6) Смотрите, у нас есть 3 сущности:
1. Ссылка на Справочник НДС (Источник)
2. Перечисление полученное из ссылки (Источник)
3. Перечисление Ставка НДС (Приемник).

Я хочу сделать сопоставление предопределенных на основании настроенного ПКС двух перечислений, а не прописывать имена перечислений в коде через "Если".
10. tamidi 8 08.11.22 10:50 Сейчас в теме
(7)Чем вам так не нравятся условия в конвертации?
В преобразовании Ссылка на Справочник НДС (Источник) в Перечисление полученное из ссылки (Источник) вам все равно придется прописывать условия, зачем тогда что-то городить. Добавлять дополнительный объект только ради обмена?
8. PerlAmutor 129 07.11.22 23:08 Сейчас в теме
(3) Именно по этой публикации и пытался сделать - не работает. Выгружается пустая ставка НДС. И свойства "УзелСсылки" не существует в обработчике "При выгрузке". Еще смущает то, что в качестве имя перечисления в узел приемник передается синоним из базы источника, они ведь могут и не совпадать, требуется сопоставление.
11. WasiliyMay 8 08.11.22 12:55 Сейчас в теме
Я делал через конвертацию значений. Если в справочнике нет предопределенного значения, то сопоставляется по коду.
Прикрепленные файлы:
12. PerlAmutor 129 08.11.22 22:37 Сейчас в теме
Первую задачу решил достаточно просто. Взял ПКС ПеречислениеСсылка.СтавкаНДС->ПеречислениеСсылка.СтавкаНДС, стер Источник, добавил в событие ПередВыгрузкой код типа Значение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.СтавкаНДС, "ПеречислениеСтавкаНДС");
Правило ПКС оставил как Перечисление в Перечисление. Все работает.
А теперь нужно решить задачку как в ТЧ Товары поместить СправочникСсылка.СтавкаНДС по приходящему Перечислению.СтавкаНДС.
13. PerlAmutor 129 09.11.22 22:26 Сейчас в теме
Вторую задачу тоже решил через параметры табличной части. Пропускаю реквизит строки через ПКС ПеречислениеСтавкаНДС, а потом в обработчике После Загрузки пробегаюсь по строкам табличной части извлекая параметр строки и конвертирую через общие модули в ссылку на элемент справочника НДС.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот