|
Конвертация данных по произвольному алгоритму | ☑ | ||
---|---|---|---|---|
0
Игорь_МММ
25.03.16
✎
11:42
|
запросом в ПВД выбирается 69 элементов для выгрузки, выгружается только 3. С чем это может быть связано?
|
|||
1
ДенисЧ
25.03.16
✎
11:43
|
с ДНК?
|
|||
2
Игорь_МММ
25.03.16
✎
11:48
|
а помочь?
ПВД есть, данные запросом выбираются, в ПКС источник не заполнял, приемник заполнен. Поиск по Наименованию поставил. |
|||
3
Игорь_МММ
25.03.16
✎
11:49
|
поля в запросе соответствуют полям приемника
|
|||
4
Игорь_МММ
25.03.16
✎
11:51
|
в общем-то это номенклатура -> номенклатура
|
|||
5
Игорь_МММ
25.03.16
✎
11:54
|
галку "искать объект по внутреннему индентификатору" снял
|
|||
6
Borteg
25.03.16
✎
11:57
|
(5) код произвольного алгоритма в студию
|
|||
7
Игорь_МММ
25.03.16
✎
11:59
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ЗаказыПокупателейТовары.Товар, | ЕСТЬNULL(ПотребностьПоСпецификацииПереченьЗаказа.Номенклатура,0) КАК Номенклатура |ПОМЕСТИТЬ таблица |ИЗ | Справочник.ЗаказыПокупателей.Товары КАК ЗаказыПокупателейТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПотребностьПоСпецификации КАК ПотребностьПоСпецификации | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПотребностьПоСпецификации.ПереченьЗаказа КАК ПотребностьПоСпецификацииПереченьЗаказа | ПО ПотребностьПоСпецификации.Ссылка = ПотребностьПоСпецификацииПереченьЗаказа.Ссылка | ПО ЗаказыПокупателейТовары.Спецификация = ПотребностьПоСпецификации.ИмяСпецификации |ГДЕ | ЗаказыПокупателейТовары.Выгружать = ИСТИНА |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | таблица.Товар КАК Номенклатура |ПОМЕСТИТЬ Итог |ИЗ | таблица КАК таблица | |СГРУППИРОВАТЬ ПО | таблица.Товар | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | таблица.Номенклатура |ИЗ | таблица КАК таблица |ГДЕ | таблица.Номенклатура <> 0 |СГРУППИРОВАТЬ ПО | таблица.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СпрНоменклатура.Артикул, | СпрНоменклатура.Наименование, | СпрНоменклатура.Родитель, | СпрНоменклатура.ЭтоГруппа, | СпрНоменклатура.НаименованиеПолное, | СпрНоменклатура.БазоваяЕдиницаИзмерения |ИЗ | Итог КАК Итог | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура | ПО Итог.Номенклатура = СпрНоменклатура.Ссылка"; ВыборкаДанных = Запрос.Выполнить().Выбрать(); |
|||
8
Borteg
25.03.16
✎
12:05
|
(7) в выборке точно 69 элементов? чем отличаются выгружаемые объекты и не выгружаемые? может в ПКО на какието условия отказ стоит?
|
|||
9
Borteg
25.03.16
✎
12:06
|
(7) поставь в выгрузку сообщить и посмотри при выгузке какие элементы выгружаются
|
|||
10
Borteg
25.03.16
✎
12:06
|
(7) так же не понятно чем поиск по идентификатору не угодил?
|
|||
11
Borteg
25.03.16
✎
12:10
|
(2) а поиск по полю этогруппа включен?
|
|||
12
Rie
25.03.16
✎
12:22
|
(0)
А почему в первом подзапросе ЕСТЬNULL(ПотребностьПоСпецификацииПереченьЗаказа.Номенклатура,0) а не ЕСТЬNULL(ПотребностьПоСпецификацииПереченьЗаказа.Номенклатура,Справочник.Номенклатура.ПустаяСсылка) (да можно и просто NULL оставить - хуже от этого не будет). |
|||
13
Rie
25.03.16
✎
12:23
|
(12)->(7)
|
|||
14
Игорь_МММ
25.03.16
✎
13:21
|
(8) я этот запрос ставил в источнике -там смотрел, получилось 69 элементов.
А отличаются тем, что нужно выгружать только ту номенклатуру, которая присутствует в заказах, которые обозначены как "Выгружать" (9) сейчас попробую (10) это уже просто тыкал на то на се - может что поможет (11) пробовал и сним и без него - все одинаково (12) ну тоже пробовал различные варианты, сначала было просто без обработки NULL |
|||
15
Игорь_МММ
25.03.16
✎
13:25
|
(9) поставил в ПВД обход выборки:
Пока ВЫборкаДанных.Следующий() Цикл Сообщить (выборкаДанных.Наименование); конеццикла; сообщает 69 наименований Номенклатуры и в конце пишет Выгружено 3 объекта |
|||
16
Игорь_МММ
25.03.16
✎
13:28
|
так поправка: оставил выгрузку только номенклатуры - в итоге номенклатуры выгружает 0 объектов, то есть вообще номенклатуру не выгружает
|
|||
17
sonne666
25.03.16
✎
13:48
|
(16) в ПВД указано ПКО? В ПКО стоит галочка "Не запоминать выгруженные объекты"?
|
|||
18
Игорь_МММ
25.03.16
✎
13:48
|
плз, подскажите что посмотреть? почему не выгружаются данные?
|
|||
19
Игорь_МММ
25.03.16
✎
13:52
|
(17) ПКО указано. галочка не стояла - поставил, но результат тот же: выгружено 0
|
|||
20
Игорь_МММ
25.03.16
✎
13:54
|
а в ПКС надо указывать ПКО?
|
|||
21
sonne666
25.03.16
✎
13:57
|
(20) надо указывать, если приемник не примитивного типа.
В ПКО в обработчиках нигде не прописан отказ от выгрузки? Или в ПКС этого объекта? |
|||
22
Игорь_МММ
25.03.16
✎
14:03
|
(21) все обработчики событий пустые
|
|||
23
Игорь_МММ
25.03.16
✎
14:09
|
может по скринам чего всплывет :
https://cloud.mail.ru/public/GBiu/yhQNCmAmf https://cloud.mail.ru/public/EavF/USHPCN3es https://cloud.mail.ru/public/Kzpe/PAkdDWKSS |
|||
24
sonne666
25.03.16
✎
14:11
|
(23) В ПКО источник нужно убрать, по-моему
|
|||
25
sonne666
25.03.16
✎
14:13
|
(23) ну и ПВД не до конца видно, но в ВыборкаДанных должна быть ТЗ с реквизитами номенклатуры, а не с самим элементом.
|
|||
26
Игорь_МММ
25.03.16
✎
14:15
|
(25) вот тут (7) полный текст. вроде так
|
|||
27
Игорь_МММ
25.03.16
✎
14:16
|
там не ТЗ, а выборка - это же не принципиально?
|
|||
28
Игорь_МММ
25.03.16
✎
14:17
|
(24) не то ..
|
|||
29
Borteg
25.03.16
✎
14:28
|
(28) поиск по группе обязателен
|
|||
30
Pro-tone
25.03.16
✎
14:29
|
(0) запросом в ПВД выбирается 69 элементов для выгрузки, выгружается только 3. С чем это может быть связано?
Очевидно связано с тем, что происходит между выборкой элементов в ПВД и их записью в ИБ. Где-то срабатывает Отказ=Истина. Может быть еще на стороне ИБ-источника, а может и приемника. |
|||
31
Borteg
25.03.16
✎
14:30
|
(28) так же в выборку я бы добавил ссылку обязательно, но не должно влиять
|
|||
32
Borteg
25.03.16
✎
14:34
|
(28) А вообще поставь в ПКО после загрузки код Попытка ОБъект.Записать();
Сообщить("Наименование объекта"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки и смотри что происходит |
|||
33
Игорь_МММ
25.03.16
✎
14:34
|
(29) да, делал - без результата (31) не влияет (30) для меня это темный лес, не подскажите что посмотреть?
|
|||
34
Игорь_МММ
25.03.16
✎
14:37
|
(32) поставил но сообщений вообще никаких нет
|
|||
35
Игорь_МММ
25.03.16
✎
14:38
|
пардон, это надо загрузку выполнить?
|
|||
36
Игорь_МММ
25.03.16
✎
14:39
|
уже запутался ... у меня при выгрузке пишет выгружено 0 объектов . Сообщений из (32) не появляется
|
|||
37
Borteg
25.03.16
✎
14:43
|
(36) правила перечитываешь после модификации?)
|
|||
38
Игорь_МММ
25.03.16
✎
14:45
|
) ну конечно
|
|||
39
Borteg
25.03.16
✎
14:50
|
(38) Тогда используй режим отладки в универсальном обмене данных, там точно все отловишь)
|
|||
40
Borteg
25.03.16
✎
14:53
|
(38) и убери объект выборки в пвд
|
|||
41
Игорь_МММ
25.03.16
✎
14:58
|
(40) нет,
(39) этой обработки нет - надо скачать .. .попробую |
|||
42
sonne666
25.03.16
✎
15:58
|
(28) если в ВыборкаДанных у вас объекты, в ПКО источник задан, а в ПКС источника нет. Как конвертация узнает, какие реквизиты в какие вы собрались выгружать.
Попробуйте в ПКС в источнике поставить реквизиты источника. |
|||
43
MishaD
25.03.16
✎
16:15
|
Ну это правило МММ, вложили 69 тыщ, а получили 3
|
|||
44
Игорь_МММ
26.03.16
✎
23:34
|
получилось полечить таким образом : в запросе сделал выборку всех полей спр Номенклатура
вместо: |ВЫБРАТЬ | СпрНоменклатура.Артикул, | СпрНоменклатура.Наименование, | СпрНоменклатура.Родитель, | СпрНоменклатура.ЭтоГруппа, | СпрНоменклатура.НаименованиеПолное, | СпрНоменклатура.БазоваяЕдиницаИзмерения, | СпрНоменклатура.Ссылка сделал: |ВЫБРАТЬ | СпрНоменклатура.Ссылка, | СпрНоменклатура.ВерсияДанных, | СпрНоменклатура.ПометкаУдаления, | СпрНоменклатура.Предопределенный, | СпрНоменклатура.Родитель, | СпрНоменклатура.ЭтоГруппа, | СпрНоменклатура.Код, | СпрНоменклатура.Наименование, | СпрНоменклатура.Артикул, | СпрНоменклатура.НаименованиеПолное, | СпрНоменклатура.БазоваяЕдиницаИзмерения, | СпрНоменклатура.СтавкаНДС, | СпрНоменклатура.Комментарий, | СпрНоменклатура.Услуга, | СпрНоменклатура.НоменклатурнаяГруппа, | СпрНоменклатура.СтранаПроисхождения, | СпрНоменклатура.НомерГТД, | СпрНоменклатура.СтатьяЗатрат, | СпрНоменклатура.ОсновнаяСпецификацияНоменклатуры, | СпрНоменклатура.Производитель, | СпрНоменклатура.Импортер, | СпрНоменклатура.ОсновнойПоставщик, | СпрНоменклатура.НормаПоставки, | СпрНоменклатура.МинимальныйОстаток, | СпрНоменклатура.СпособПроизводства, | СпрНоменклатура.Упаковка, | СпрНоменклатура.СпособОкругленияКоличества, | СпрНоменклатура.ПорядокОкругления, | СпрНоменклатура.Параметр, | СпрНоменклатура.МестоХранения, | СпрНоменклатура.Выпуск, | СпрНоменклатура.Спецификация, | СпрНоменклатура.Коэффициент, | СпрНоменклатура.Нахлест, | СпрНоменклатура.ВыгружатьВБП однако след.непонятка: запрос выбирает 69 элементов. выгружено пишет 83. Что добавляется? Кроме номенклатуры все отключаю |
|||
45
Rie
27.03.16
✎
04:51
|
(44) В таблице Итоги, вероятно, есть дубли по номенклатуре (вместо ВЫБРАТЬ - использовать бы ВЫБРАТЬ РАЗЛИЧНЫЕ, ну и ОБЪЕДИНИТЬ ВСЕ подкинет дополнительно кой-чего).
|
|||
46
sonne666
28.03.16
✎
10:52
|
(44) так у вас еще единицы измерения и родители элементов номенклатуры выгружаются. Посмотрите в файле выгрузки, что именно выгрузилось.
|
|||
47
Игорь_МММ
28.03.16
✎
14:27
|
(46) я же отключаю единицы измерения, а родители присутствуют в 69-ти. файл выгрузки это, извините, где глянуть?
|
|||
48
sonne666
28.03.16
✎
14:48
|
(47) Где отключаете? В ПКС номенклатуры убрали этот реквизит?
А чем выгружаете-то? Обработкой Универсальный обмен в формате xml? |
|||
49
Игорь_МММ
29.03.16
✎
10:02
|
(48) снимаю галки при выгрузке https://cloud.mail.ru/public/7Rg7/23JB4oUVF
|
|||
50
sonne666
29.03.16
✎
10:33
|
(49) это не то, это какие объекты выгружаются по выборке. А так вы выгружаете номенклатуру, у которой есть реквизит типа ЕдиницаИзмерения, а это справочник, для которого тоже есть правило конвертации.
|
|||
51
Игорь_МММ
29.03.16
✎
10:39
|
(50) то бишь все равно цепляет все ссылки - понял, спасибо
|
|||
52
Garykom
гуру
29.03.16
✎
10:50
|
ТС хочешь выгрузить 1 элемент номенклатуры или много элементов?
Просто можно сделать 1 раз "ВыгрузитьПоПравилу()" для структуры с кучей номенклатуры и "групповое" ПКО/ПКС Или в цикле вызывать "ВыгрузитьПоПравилу()" для каждого элемента номенклатуры |
|||
53
Игорь_МММ
29.03.16
✎
10:54
|
(52) мне нужно выгрузить только определенную номенклатуру (выбираю запросом). Но я так понимаю если например, не выгружу ЕдиницуИзмерения, то какая-то номенклатура не запишется - реквизит ЕИ обязателен же к заполнению. Это так?
|
|||
54
sonne666
29.03.16
✎
10:57
|
(53) При загрузке запишется.
|
|||
55
Garykom
гуру
29.03.16
✎
11:09
|
(53) выгрузится ли ЕИ уже от галочек в настройках ПКО зависит, там есть не заполнять по ссылке и т.д.
|
|||
56
Игорь_МММ
29.03.16
✎
11:30
|
то есть при записи нового элемента не будет проверяться наличие всех необходимых реквизитов ??
тогда как же (44) сработало? |
|||
57
sonne666
29.03.16
✎
17:12
|
(56) при флаге Загрузка = Истина вообще ничего не проверяется (может, меня поправят). С помощью загрузки можно вообще насоздавать элементов, у которых ни один реквизит не будет заполнен.
Вы вообще пробовали загружать то, что выгрузили и посмотреть? В каждом ПКО при выгрузке напишите что-нибудь типа Сообщить(Источник); |
|||
58
Игорь_МММ
01.04.16
✎
18:59
|
(12) как правильно обработать Нуль пустой ссылкой? как вы пишите:
ЕСТЬNULL(ПотребностьПоСпецификацииПереченьЗаказа.Номенклатура,Справочник.Номенклатура.ПустаяСсылка) выдает: поле не найдено. пробовал ...ПустаяСсылка() - тоже не то. Как правильно то? |
|||
59
grate
01.04.16
✎
19:02
|
(58) ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|||
60
Игорь_МММ
01.04.16
✎
19:29
|
(59) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |