Версия для печати темы (https://pro1c.org.ua/index.php?s=3ace654a288eb7d5eb29255d909f91c9&showtopic=55415)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Конфигурация "1С:Конвертация данных" _ ПКС-ИсходящиеДанные - ПКО-ВходящиеДанные, не передаются данные

Автор: edmah 26.11.19, 8:54

Добрый день!
В конфигурации БП, в справочнике Номенклатура нет ЕдиницаХраненияОстатков, в УТ есть. Хочу переносить так:

ПКО Номенклатура, ПКС ЕдиницаХраненияОстатков (правило конвертации ЕдиницыИзмерения), перед выгрузкой:

ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Владелец",Источник);

ПКО ЕдиницыИзмерения, ПКС Владелец, перед выгрузкой:

Значение = ВходящиеДанные.Владелец;


В итоге при выгрузке из базы-источника получаю ошибку -

Цитата
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4267)}: Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = ЕдиницыИзмерения (Справочник: Классификатор единиц измерения)
ПКС = 4 ( --> Владелец)
Объект = шт (Классификатор единиц измерения)
СвойствоПриемника = Владелец ()
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Значение не является значением объектного типа (Владелец)
ПозицияМодуля = (1)
КСообщенияОбОшибках = 55
ВызватьИсключение СтрокаСообщенияОбОшибке;


Почему НЕ передаются данные из ПКС в ПКО???

Автор: sava1 26.11.19, 9:32

Цитата(edmah @ 26.11.19, 8:54) *
Почему НЕ передаются данные из ПКС в ПКО???


А зачем ? что мешает заполнить значение в ПКС ?
или выгрузить по правилу из ПКО ?

Автор: edmah 26.11.19, 11:12

sava1 @ Сегодня, 9:32 * ,
У единицы измерения в базе-источнике нет владельца. Единица измерения создается "налету", владелец должен прийти из входящих данных, из ПКС ЕдиницаХраненияОстатков, ПКО Номенклатура.

Автор: sava1 26.11.19, 11:22

ПКО Номенклатура - ПослВыгрузки - Выбираем единицы измерения Номенклатуры и ВыгрузитьПоПравилу.
Владелец уже известный

Автор: edmah 26.11.19, 11:28

sava1 @ Сегодня, 9:32 * ,
Есть инструкция, делаю по ней (со стр. 106)
https://pro1c.org.ua/redirect.php?https://drive.google.com/open?id=1kDfvHWFXUZGS1mQ5VT0nkictg2CSHn60

sava1 @ Сегодня, 11:22 * ,
В смысле создает таблицу значений с нужными полями и выгружаем по правилу?

Автор: sava1 26.11.19, 11:43

Цитата(edmah @ 26.11.19, 11:28) *
В смысле создает таблицу значений с нужными полями и выгружаем по правилу?


любую коллекцию (структура,выборка и т.д) , вызываем выгрузить по правилу.

но -
для Вашего случая проще на стороне приемника просто добавить Базовую ЕИ в справочник с Владельцем - Объект.

ПослеЗагрузки - ищем по коду классификатора и владельцу (Объект) единицу измерения и добавляе в справочник , если не нашли.

Автор: edmah 26.11.19, 12:32

sava1 @ Сегодня, 11:43 * ,
Это как вариант. Так и реализовал.
Но почему через параметры не получается? Вот это загадка...

Автор: sava1 26.11.19, 12:52

Цитата(edmah @ 26.11.19, 12:32) *
почему через параметры не получается? Вот это загадка...


1. А где Вы использовали параметры ?
2. Вы передаете данные между несвязанными объектами (Номенклатура и Единицы) - в таком случае используйте Параметры Конвертации.
3. По поводу п.2 - Вы предполагаете когда отработает ПКО Ед.Измерения ? и какие данные оно получит из Параметров ?

Автор: edmah 26.11.19, 13:34

sava1 @ Сегодня, 12:52 * ,
Почему не связанные? Номенклатура, ЕдиницаХраненияОстатков - выгружается по правилу ЕдиницыИзмерения, в ПКО ЕдиницыИзмерения, ПКС Владелец идет обращение к ВходныеПараметры.

Так описано в примере (давал ссылку).

Автор: sava1 26.11.19, 14:10

Цитата(edmah @ 26.11.19, 13:34) *
ЕдиницаХраненияОстатков
- это элемент справочника Единицы измерений, а не Номенклатура.
Вы хотите при выгрузке номенклатуры передать элемент справочника ЕИ. Откуда приемник может об этом знать ? В таких случаях используйте ВыгрузитьПоПравилу

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua