|
Произвольный алгоритм правил выгрузки данных | ☑ | ||
---|---|---|---|---|
0
10kgcaxapa
08.06.17
✎
08:40
|
Здравствуйте! Появилась задача написать правила конвертации нескольких документов поступления из одной базы в один документ другой базы.Создал ПКО,у свойств указал получать из входящих данных.В ПВД создал структуру,в конце написал ВыборкаДанных = МояТаблица; При выгрузке выдает ошибку
Ошибка получения свойства объекта из входящих данных ПКО = ПоступлениеТоваровУслуг (:) ПКС = 4 (--> Контрагент) Объект = Тест (Контрагент) СвойствоПриемника = Контрагент (СправочникСсылка.Контрагенты) ОписаниеОшибки = Получение элемента по индексу для значения не определено Может в Пко еще что-то надо дописать? Если нужно,могу показать XML |
|||
1
10kgcaxapa
08.06.17
✎
12:13
|
Упростил запрос,чтобы хоть что-то выгрузилось
запрос=новый запрос; запрос.текст= "ВЫБРАТЬ | ПоступлениеТоваровУслугТовары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ПоступлениеТоваровУслугТовары.Количество, | ПоступлениеТоваровУслугТовары.Ссылка.Контрагент, | ПоступлениеТоваровУслугТовары.Номенклатура, | ПоступлениеТоваровУслугТовары.Сумма, | ПоступлениеТоваровУслугТовары.СуммаНДС, | ПоступлениеТоваровУслугТовары.Цена |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары"; ВыборкаДанных=запрос.выполнить().выгрузить(); Вот стркутура запрашиваемых данных в ПКО ВходящиеДанные = Новый Структура("Товары"); ВходящиеДанные.Товары = Новый ТаблицаЗначений; ВходящиеДанные.Товары.Колонки.Добавить("ДоговорКонтрагента"); ВходящиеДанные.Товары.Колонки.Добавить("ЕдиницаИзмерения"); ВходящиеДанные.Товары.Колонки.Добавить("Количество"); ВходящиеДанные.Товары.Колонки.Добавить("Контрагент"); ВходящиеДанные.Товары.Колонки.Добавить("Номенклатура"); ВходящиеДанные.Товары.Колонки.Добавить("Сумма"); ВходящиеДанные.Товары.Колонки.Добавить("СуммаНДС"); ВходящиеДанные.Товары.Колонки.Добавить("Цена"); При выгрузке уже другая ошибка Ошибка получения коллекции подчиненных объектов из входящих данных ПКО = ПоступлениеТоваровУслуг (:) ПКГС = 1 (--> Товары) Объект = СтрокаТаблицыЗначений (Строка таблицы значений) ОписаниеОшибки = Получение элемента по индексу для значения не определено ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9140) КодСообщения = 66 |
|||
2
finik
08.06.17
✎
12:31
|
у тебя в ВыборкуДанных (т.е. в ПКО документа) идет таблица из запроса, а что идет в Товары? Проверь, судя по ошибке что-то не то.
|
|||
3
Cyberhawk
08.06.17
✎
12:35
|
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
заменить на | ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, |
|||
4
10kgcaxapa
08.06.17
✎
12:40
|
(2) Если я вас правильно,понял,то ничего...Стоит галка получать из входящих данных
|
|||
5
10kgcaxapa
08.06.17
✎
12:46
|
(3) Ничего не изменилось
|
|||
6
Cyberhawk
08.06.17
✎
12:51
|
(5) Сколько платят за решение вопроса?
|
|||
7
10kgcaxapa
08.06.17
✎
12:52
|
Мне много платят)
|
|||
8
10kgcaxapa
08.06.17
✎
12:53
|
Вот скин синхронизации свойств
https://drive.google.com/open?id=0B41P7U88tnheM19IX05hSHpoQVk |
|||
9
finik
08.06.17
✎
12:53
|
(4) Как понимаю, входящие данные туда не доходят. Что там оказывается, можно посмотреть на отладке. Проще наверное товары сразу добавить товары в ВыборкуДанных.
|
|||
10
10kgcaxapa
08.06.17
✎
12:53
|
Я вот думаю,может без правил выгрузки подчиненных объектов работать не хочет?
|
|||
11
10kgcaxapa
08.06.17
✎
12:57
|
(9) > Проще наверное товары сразу добавить товары в ВыборкуДанных
А это как? |
|||
12
finik
08.06.17
✎
12:58
|
(11) добавить получение товаров сразу в запрос, флажок "получить из входящих данных" снять.
|
|||
13
finik
08.06.17
✎
13:00
|
торможу, у тебя же запрос уже и получает товары. Только ВыборкуДанных нужно оформить по другому. В виде таблицы значений, у которой колонками будут поля шапки, плюс одна колонка "Товары" с вложенной таблицой товаров
|
|||
14
finik
08.06.17
✎
13:02
|
в общем перепиши запрос для выборки примерно в такой вид:
ВЫБРАТЬ | ПоступлениеТоваровУслуг.Номер КАК Номер, | ПоступлениеТоваровУслуг.Дата КАК Дата, | ПоступлениеТоваровУслуг.Товары.( | Номенклатура КАК Номенклатура, | Количество КАК Количество, | Цена КАК Цена | ) КАК Товары |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |
|||
15
finik
08.06.17
✎
13:03
|
и сними галочку
|
|||
16
10kgcaxapa
08.06.17
✎
13:12
|
(15) Не понимаю почему,но это работает)
|
|||
17
finik
08.06.17
✎
13:18
|
конечно работает.
с тебя за помощь 10 кг сахара.:) |
|||
18
10kgcaxapa
08.06.17
✎
13:25
|
(17) Как оказалось работает не так,как хотелось бы...С вложенными таблицами не сделаешь группировку,а без нее смысл выгрузки теряется.Нужно свернуть по контрагенту,чтобы из миллиона накладных получилась одна.
|
|||
19
10kgcaxapa
08.06.17
✎
13:27
|
(13) А обязательно запрос переписывать? Если ТЗ создать вручную,+колонку с товарами из запроса?
|
|||
20
10kgcaxapa
08.06.17
✎
13:28
|
Но вроде так у меня не работало
|
|||
21
Ёпрст
08.06.17
✎
13:29
|
(19) можно и так. У тебя в ТЗ должна быть ТАбличнаяСасть
|
|||
22
Ёпрст
08.06.17
✎
13:29
|
часть
|
|||
23
10kgcaxapa
08.06.17
✎
13:50
|
(21) Документ создался,все хорошо...Только номенклатура не выгрузилась
|
|||
24
10kgcaxapa
08.06.17
✎
13:51
|
Ладно контрагента можно при загрузке воткнуть,а как с номенклатурой быть?Для нее тоже правила выгрузки данных нужны?
|
|||
25
finik
08.06.17
✎
13:57
|
(24) Да. Нужно описать правила и для номенклатуры. При необходимости и для подчиненных ей - всяких единиц измерения и т.д. по всей цепочке ссылок, которые надо выгрузить.
|
|||
26
10kgcaxapa
08.06.17
✎
14:17
|
(25) Работает.Только я до сих пор не понимаю,для чего тогда нужна галка получать из входящих данных...
|
|||
27
Cyberhawk
08.06.17
✎
16:06
|
(26) Внезапно: для заполнения ПКС не из свойств источника, а из свойств структуры, сидящей в переменной под названием "ВходящиеДанные". Куда предварительно ты должен нужную структуру положить.
|
|||
28
10kgcaxapa
08.06.17
✎
17:37
|
(27) Я же в ПВД писал запрос,по идее это призвольные данные,так? Источник в ПКО не указывал.Тогда почему вынрузка ругается когда ставишь эту галку,мне не понятно.Без нее все работает.Поэтому и спрашиваю,что это за магия
|
|||
29
D_E_S_131
08.06.17
✎
17:55
|
(28) Когда "произвольное", то выгрузка за загрузку особо не отвечает.
|
|||
30
Cyberhawk
08.06.17
✎
19:24
|
(28) Рекомендую пройти этот тест: http://nazva.net/logic_test1/
О результате доложить в этой ветке |
|||
31
10kgcaxapa
09.06.17
✎
16:32
|
(30) Весело тут у вас)
Не поленился и прошел...Правильные ответы: 26 / 30 (86.7%).Вопрос о входящих данных остался открытым для меня |
|||
32
Cyberhawk
09.06.17
✎
16:35
|
(31) Перечитывай (27) до наступления просветления. При появлении конкретных вопросов - задавай
|
|||
33
10kgcaxapa
09.06.17
✎
16:51
|
(32) ВыборкаДанных и ВходящиеДанные-это разные сущности?
|
|||
34
10kgcaxapa
09.06.17
✎
16:52
|
и там и там стркутура,я думал это одно и тоже...Выборка в ПКС сразу попадает?
|
|||
35
Cyberhawk
09.06.17
✎
20:34
|
(33) Разные, конечно
(34) ВыборкаДанных не обязательно структура |
|||
36
Defender aka LINN
09.06.17
✎
21:21
|
(32) Так ты ж дичь какую-то написал.
(31) Входящие данные - это ИСХОДЯЩИЕ данные, переданные из ПКС. Например, есть у тебя в источнике справочник договоров. И в приемнике есть, но вот в приемнике они делятся на "с поставщиком", "с покупателем" и т.д., а в источнике - нет. Тогда в ПКС договора в, скажем, документе реализации, ты пишешь "ИсходящиеДанные = Новый Структура("Вид", "СПокупателем")". А в поступлении - "ИсходящиеДанные = Новый Структура("Вид", "СПоставщиком")". А в ПКО договоров у тебя реквизит "Вид" получает значение из входящих данных. |
|||
37
d4rkmesa
10.06.17
✎
13:40
|
Не в тему, но от таких задач, вроде слияния нескольких документов в один, лучше отказываться до последнего, особенно если инициатива исходит от бухгалтерии. Иначе вопросы "почему не сходится сводный документ, видимо неправильно работает обмен, пусть программист разбирается" будут возникать регулярно.
|
|||
38
Cyberhawk
12.06.17
✎
09:29
|
(36) Там каждое слово на вес золота
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |