Имя: Пароль:
1C
1С v8
КД2 Перенос подчиненного справочника единицы измерения с КА в УТ. Не могу осилить.
,
0 Обработка
 
21.02.22
12:05
ИЗ КА2 переношу в УТ2 каз. (аналог УТ10) один документ "Приобретение" в "Поступление товаров и услуг".
В КА доке в ТЧ есть реквизит "упаковка" типа "упаковка единиц измерений" который подчинен номенклатуре.
В приемнике в ТЧ "единица измерения" тоже имеет тип справочника "единицы измерений" который имеет владельца номенклатуру.

Так вот при переносе  у меня эти единицы получаются без владельца!
Да и самой номенклатуре есть 2-3 реквизита ссылающиеся на эти подчиненные элементы. Тоже привязываются без владельца.

Почитал погуглил пока ничего не помогло. А точнее полностью не могу логику осмыслить.
Помогите советом или ссылками или видео уроком если есть .
1 Обработка
 
21.02.22
12:06
2 welwel
 
21.02.22
12:30
емнип рабочий пример переноса подчиненных единиц был в примере к книге Конвертация данных: обмен данными между прикладными решениями (+диск) Авторы: В.Э. Бояркин, А.И. Филатов https://v8.1c.ru/metod/books/42643.htm
3 welwel
 
21.02.22
12:35
+ (2) в примере = в демо-конфигурации
4 mistеr
 
21.02.22
12:36
(0) Начни с того, что открой файл и посмотри, все ли нормально выгрузилось. Есть ли необходимые данные для привязки.
5 Обработка
 
21.02.22
12:51
(2) Есть у меня такая книжка и читал я ее много раз. Но вот на счет диска не помню поисщу у себя.
Вдруг найду

Спс
6 Обработка
 
21.02.22
12:52
(4) Выгружается только вот вместо подчиненных элементов идет без владельца везде.
7 welwel
 
21.02.22
12:59
(6) в свое время смотрел отладчиком обработку загрузки - путь, может, долгий, но зато дающий хорошее представление о механизме обмена - код достаточно понятный
8 mistеr
 
21.02.22
14:42
(7) Если в файле нет владельца, то путь еще и бесполезный :)
9 mistеr
 
21.02.22
14:43
(6) Значит смотри ПКО этого подчиненного справочника.
Попробуй выгрузить элемент отдельно, не по ссылке.
10 welwel
 
21.02.22
15:26
(8) в (4) вроде как говорит, что выгрузилось. Иначе можно глянуть отладчиком выгрузку (процедуру ВыгрузитьПоПравилу).
В любом случае подразумевается, что настройки ПКО уже перепроверены - скорее всего стоило начать с показать их здесь.
11 welwel
 
21.02.22
15:27
*в (6)
12 Обработка
 
21.02.22
15:37
У меня есть Правило вот

https://ibb.co/jJvQtSR
13 Обработка
 
21.02.22
15:40
Они что в источнике что в получателе являются подчинеными!

А вот номенклатура

https://ibb.co/W5Kr8Xm
14 Обработка
 
21.02.22
15:43
Вот документ ТЧ товары и в нем реквизит

https://ibb.co/hHqs4HZ
15 Обработка
 
21.02.22
15:45
При переносе все идеально переносится тольок вот единица измерений не имеет владельца.
И в самих номкелатурах реквизиты Ед. храния остатков и Ед.для отчетов тоже без владельца.

Вот это я не могу и исправить.

Пробовал всякие  варианты с гугла . В один случаях ошибка. В других не срабатввает.
16 welwel
 
21.02.22
15:46
ПКО для Владелец не указано.
Если встречаются владельцы разных видов, то нужно предусмотреть выбор ПКО в зависимости от вида в ПКС Владелец ПередВыгрузкой
17 Обработка
 
21.02.22
15:47
(16) Вот это я и не могу ни как реализовать. Без примера сложно.
18 mistеr
 
21.02.22
15:48
(12) У справочника несколько владельцев. Непонятно какой нужен в приемнике.
19 mistеr
 
21.02.22
15:48
(16) Или указывать тип приемника в обработчике.
20 welwel
 
21.02.22
15:48
+ (16) Если на практике только один вид владельца, то можно не заморачиваться и вписать имя ПКО жестко в настройки.
По крайней мере на начальном этапе для проверки можно просто выбрать имя ПКО в настройках для того вида владельца, который тестируется.
21 welwel
 
21.02.22
15:50
(17) Если ТипЗнч(Источник.Владелец) = Тип("блаблабла") Тогда
ИмяПКО = "пко_блаблабла";
ИначеЕсли ...
...
КонецЕсли;
22 Ёпрст
 
21.02.22
15:52
(17)
в ПКО ЕдиницыИзмерения в ПКС Владелец укажи имя правила Номенклатура.
Всё.
23 Обработка
 
21.02.22
15:53
(16) (21) Это я делаю в ПКО "ЕдиницыИзмерения"?
24 Обработка
 
21.02.22
15:53
(22) Пробовал. Ошибка!
25 Ёпрст
 
21.02.22
15:54
(24) какая ?
26 Ёпрст
 
21.02.22
15:54
И покажи, че сделал хоть
27 Обработка
 
21.02.22
15:55
(25) Вот свеежее спецолм опять сгенерил.



Ошибка получения значения свойства объекта (по имени свойства источника)
    ПКО                    =  Номенклатура  (Справочник: Номенклатура)
    ПКС                    =  1  (Артикул --> Артикул)
    Объект                 =  Базовые единицы измерения  (Набор упаковок)
    СвойствоПриемника      =  Артикул  (Строка)
    ОписаниеОшибки         =  Поле объекта не обнаружено (Артикул)
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9625)
    КодСообщения           =  13
28 Обработка
 
21.02.22
15:56
(26) Вот = https://ibb.co/xs2Z1Lq
29 Ёпрст
 
21.02.22
15:57
(27) аа.. наборы говоришь, тогда как в
(21)
30 Ёпрст
 
21.02.22
15:58
выкинь имя правила, имя правила ПКО определяй в Перед выгрузкой в ПКС Владелец
31 Ёпрст
 
21.02.22
15:58
в зависимости от типа владельца.
32 Обработка
 
21.02.22
16:00
33 Обработка
 
21.02.22
16:02
ИмяПКО = "пко_блаблабла";

Это означает для каждого случая мне надо ПКД создать?
34 Ёпрст
 
21.02.22
16:04
(32) Да.
(33) ёпт, у тя их всего 2
35 Ёпрст
 
21.02.22
16:05
и это ОДНО условие с веткой Иначе
36 Ёпрст
 
21.02.22
16:05
и два имени ПКО - номенклатура и наборы упаковок
37 Обработка
 
21.02.22
16:06
(34) ДА в курсе что у меня их всего два и как их оформить пока не представляю.
Без опыта в таких тонкостях сразу не вдупляю. Простите.
38 Ёпрст
 
21.02.22
16:06
У тебя должно быть создано 2 ПКО в базе -
одно для Справочник.Номеклатура
второе для Справочник.НаборыУпаковок.

и в (32) ты должен написать как в (21)
39 Ёпрст
 
21.02.22
16:07
Если ТипЗнч(Источник.Владелец) = Тип("СправочникССылка.Номенклатура") Тогда
ИмяПКО = "Номенклатура";
Иначе
ИмяПКО = "НаборыУпаковок";
КонецЕсли
40 Обработка
 
21.02.22
16:11
Я хотел так:

Если ТипЗнч(Источник.Владелец) = Тип("СправочникСсылка.Номенклатура") Тогда
    ИмяПКО = "пко_НоменклатураДляЕдИзм";
ИначеЕсли ТипЗнч(Источник.Владелец) = Тип("СправочникСсылка.НаборыУпаковок") Тогда
    ИмяПКО = "пко_НаборыУпаковокДляЕдИзм";
КонецЕсли;
41 Обработка
 
21.02.22
16:12
Видимо не надо создавать для номенклатуры он уже есть ведь так.
42 Обработка
 
21.02.22
16:25
Вот что оказалось

https://ibb.co/SP4Kx5F

На самом деле единица измерений у номенклатуры ссылкаются на наборы
43 Обработка
 
21.02.22
16:27
Вопрос наборы упаковок в КА не имеет аналога в УТ.
Куда же мне их конвертировать?
Точнее как я оформлю ПКД?
44 Обработка
 
21.02.22
17:01
Что за противоречие не пойму: ???

https://ibb.co/F4DLvNw
45 серый КТУЛХУ
 
21.02.22
17:12
(44): потому что топинамбур блин. твой типзначения от строки даст тип: строка
... <> ТИПЗНАЧЕНИЯ(ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ПустаяСсылка))
46 Ёпрст
 
21.02.22
17:29
(44)
Где НЕ Номенклатура.ЕдиницаИзмерения.Владелец ССылка Справочник.НаборыУпаковок
47 Обработка
 
22.02.22
08:17
Товарищи давайте добьем мой вопрос.
Подскажите как мне создать ПКО "НаборУпаковок" что передать владельца получателю??

Вот что я пока сделал  https://ibb.co/bFH4m6F
48 Обработка
 
22.02.22
10:03
ИспользОвал то что тут описано для ПКО наборупаковок:
https://infostart.ru/1c/articles/887008/
Но увы не помогло ошибка:


Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  НаборыУпаковок  (Справочник: Наборы упаковок)
    Объект                 =  Базовые единицы измерения  (Набор упаковок)
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Значение не является значением объектного типа (Владелец)
    ПозицияМодуля          =  <Неизвестный модуль>(1)
    КодСообщения           =  41
49 Ёпрст
 
22.02.22
10:38
(47) Наборы упаковок в единицы измерений ?
тебе точно это надо ?
50 Ёпрст
 
22.02.22
10:39
а единицы измерений, подчиненные этим наборам упаковок..куда ?
51 Обработка
 
22.02.22
11:06
Как быть-то мне?

В Источнике:
Номенклатура -  реквизит = "ЕдиницаИзмерения" с типом спр "УпаковкиЕдиницыИзмерения" который имеет владельца двух типов => Номенклатура или НаборыУпаковок.
Реально в данных элементы имеют владельца из НаборыУпаковок причем значение предопределенные.

В Получателе:
Номенклатура -  реквизиты = "ЕдиницаХраненияОстатков" и "ЕдиницаДляОтчетов"  с типом спр "ЕдиницыИзмерения" который имеет владельца  только => Номенклатура.
Реально в данных элементы под одной номенклатуре тольок одно значение. И по наименованию они идентичны с реквизитом базовая единица измерений кторый имеет тип "КласификторЕдиницИзмерений"
52 Обработка
 
22.02.22
11:09
(49) Мне ведь выше сказали что я должен создать ПКО для НаборыУпаковок и без этого я ни как не смогу переносить.
53 Ёпрст
 
22.02.22
11:09
(51) вестимо так:
ПКО НаборыУпаковок  --- Справочник.Номенклатура.
54 Ёпрст
 
22.02.22
11:09
ну или владельца сразу писать, номенклатура, раз у тебя единица измерения, реквизит Номенклатуры всегда.
55 Обработка
 
22.02.22
11:17
(53) Не догнал можно поподробней. Туплю..
56 Ёпрст
 
22.02.22
11:22
(55) у тебя твоя единица, которая владельцем имеет набор - реквизит номенклатуры, вот и ставь при выгрузке владельцем эту номенклатуру. усё
57 Обработка
 
22.02.22
11:40
(56) В каком ПКО это указывать?
58 тук-тук
 
22.02.22
11:44
(57) открой Конвертацию и давай свой AnyDesk
59 Ёпрст
 
22.02.22
11:44
(57) единицы измерения.
Можешь просто написать что в ПКС Владелец имя ПКО всегда номенклатура, а в ПередВыгрузкой, если типЗначения Источник.Владелец = наборы, то
Значение = ТутНайтиНоменклатуруСЭтойЕдиницей-Источником
60 Обработка
 
22.02.22
11:48
(58) Спс . Жду.

649 341 448
61 Обработка
 
22.02.22
12:06
(58) Спасибо что продвинул с мертвой точки. Но увы ошибка при чтении из Источника ((


Ошибка получения свойства объекта из входящих данных
    ПКО                    =  ЕдиницыИзмерения  (Справочник: Упаковки и единицы измерения)
    ПКС                    =  2  (--> Владелец)
    Объект                 =  шт  (Упаковка)
    СвойствоПриемника      =  Владелец  ()
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9625)
    КодСообщения           =  68

еще

Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1327)}: Ошибка получения свойства объекта из входящих данных
    ПКО                    =  ЕдиницыИзмерения  (Справочник: Упаковки и единицы измерения)
    ПКС                    =  2  (--> Владелец)
    Объект                 =  шт  (Упаковка)
    СвойствоПриемника      =  Владелец  ()
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9625)
    КодСообщения           =  68
62 Обработка
 
22.02.22
12:06
Это потому что наверно составной тип данных.
63 тук-тук
 
22.02.22
12:13
в режиме отладки смотри
https://www.youtube.com/watch?v=8uhKPaTEk90&ab_channel=DimaProger
64 Ёпрст
 
22.02.22
12:22
(61) показывай уже, чего сотворил в картинках
65 Обработка
 
22.02.22
12:48
Пока букусую. Отладу не включил..

При нажатии чтения пишет:

Внешняя обработка отладки, загружаемая из файла на диске, не поддерживается.

Ошибка создания внешней обработки из файла с процедурами обработчиков событий
66 Обработка
 
22.02.22
12:54
Товарищ тут-тук помог вот:

https://ibb.co/X7gwtm5
и
https://ibb.co/gw5W2p1

Но при чтении у меня трабла.
Везде прошелся по события вроде ничего лишнего у меня нет. (((
67 тук-тук
 
22.02.22
13:00
Для едизм для владельца и классиф укажи правила. Для номенклатуры сделай короткое правило только с полями поиска
68 Ёпрст
 
22.02.22
13:06
(65) и чего ты написал в Перед выгрузкой ПКС Владелец и Коэффициент ? Выкинь тогда оттуда всё, раз с входящих данных получаешь всё
69 Ёпрст
 
22.02.22
13:08
ну и .. я б так не делал, у тебя жешь единица измерения торчит в других объектах (доках) и там будет ой.
70 тук-тук
 
22.02.22
13:09
(68) там коммент предыдущего вариантв
71 Обработка
 
22.02.22
13:20
(68) Там заремили поэтому зеленая галочка стоит
72 Обработка
 
22.02.22
13:23
(67) Сделал не помогло убрать ошибку...
Короче пока дальше не продвинулся.
73 Ёпрст
 
22.02.22
15:58
(72) кидай доступ на посмотреть )
74 Обработка
 
22.02.22
16:04
ок
анидекс
649 341 448
75 Ёпрст
 
22.02.22
17:12
В общем, занимайся :)
76 Обработка
 
22.02.22
17:16
(75) Спасибо продвинулся еще дальше почти на финише.

Завтра добью. С меня магарыч...))
77 Обработка
 
23.02.22
07:00
(75) Все бы идеально. Но я вчера читал что для передачи владельца должен быть доп ключ.
Иначе будет все время передавать либо первого либо последнего.

Происходит именно то что описано тут.

https://infostart.ru/1c/articles/887008/

ТАм гворится что :

И если контактное лицо не будет повторятся для нескольких элементов справочника, то перенос будет верным. Но, на практике, такая ситуация практически невозможна. Если мы посмотрим контагентов с однаковым контактным лицом, то контактное лицо будет указано верно, но если перейдем по ссылке в справочник КонтактныеЛица, то увидим, что контактное лицо есть лишь для одного из контрагентов.
Поэтому получается, что в реквизит Основное контактное лицо передается ссылка на «чужой» элемент. А элемент с нужным владельцем попросту не создается.

Почему так происходит?

У меня тоже с номенклатурой и с единицей так происходит вроде.

Я даже удалил единицы кторые ранее могли перенестись и по гуиду находятся опять. Но не помогло...(((
78 тук-тук
 
23.02.22
09:13
По гуиду может номенклатура, если нет характеристик. Единицы надо без гуида только поля поиска
79 Обработка
 
23.02.22
09:54
(78) Первым делом так и попробовал.
Не получилось пока.
80 Ёпрст
 
23.02.22
11:29
(77) есть галочки не запоминать выгруженные объекты + всякие неВыгружатьОбъектПоСсылке и т.д..
81 Ёпрст
 
23.02.22
11:30
Тебе надо найти на уф православную обработку выгрузки с фильтром, как это было для ОФ.
82 Ёпрст
 
23.02.22
11:30
и выгружать один док/объект/справочник, так быстрее и проще играться
83 Ёпрст
 
23.02.22
11:30
это если, не заморачиваться с отладчиком
84 Обработка
 
23.02.22
11:44
(82) Да нету у меня ее. Есть с отбором но это для идентичной конфы без всяких там КД.
А то что встроено передает по одному и двум докам. Тоже дает реальный результат.
Но проблема не в обработке. и не в отладке. КД до сих пор не настроен правильно.
Основная теорема систематики: Новые системы плодят новые проблемы.