Вход | Регистрация
 

КД 2 После загрузки в объекте битая ссылка

КД 2 После загрузки в объекте битая ссылка
Я
   Скромный программер
 
01.09.21 - 12:04
Всем доброго дня.
Есть основной документ, у которого есть реквизит ДокументОснование.
Выгрузка идет через ВыгрузитьПоПравилу и в свойство ДокументОснование передается структура с нужными данными.
Проблема в том, что после загрузки в приемник в поле ДокументОснование битая ссылка, хотя сам документ, который должен стоять в этом поле загрузился, но с другим ГУИД.
   DrShad
 
1 - 01.09.21 - 12:16
продолжайте наблюдения, держите нас в курсе
   DrShad
 
2 - 01.09.21 - 12:19
правила некорректны
   Скромный программер
 
3 - 01.09.21 - 12:38
(2) Да ладно?!
   RomanYS
 
4 - 01.09.21 - 12:42
(0) начни с файла переноса, посмотри как там выглядит ссылка
   Скромный программер
 
5 - 01.09.21 - 12:45
Ссылка на документ основание не переносится. Т.е. документ-основание генерируется при загрузке.
   fisher
 
6 - 01.09.21 - 12:45
(0) Выгружай ДокументОснование как белый человек - через человеческую ссылку, конвертируемую по нормальному ПКО по ссылкам. А не споткнешься о свои же костыли со структурами.
   Индиго
 
7 - 01.09.21 - 12:46
(0)А нафига туда передавать какую то структуру? Ищи нормально по ссылке.
   Скромный программер
 
8 - 01.09.21 - 12:50
Еще раз напишу: ссылка для документа-основания не выгружается. Нет в источнике аналога для этого документа-основания и он генерируется автоматически при загрузке на основании набора данных.
   fisher
 
9 - 01.09.21 - 12:50
(5) Ага. И ты надеялся, что КД сама догадается воткнуть в качестве ссылки сгенеренный в приемнике по структуре документ? Не. Не догадается. Оно там разнесено по разным местам и конкретно такая фича не реализована.
   Скромный программер
 
10 - 01.09.21 - 12:54
(9) Я не надеюсь, а знаю - раньше ведь так делал и не раз. Структура данных передается свойству выгружаемого объекта.
   fisher
 
11 - 01.09.21 - 12:55
Хотя погоди. Если для ПКС документа-основания нормальное ПКО нарисовано, то по-идее должно было получится.
   Индиго
 
12 - 01.09.21 - 12:56
(8)Тогда сам устанавливай ему нужный УИД при создании
   fisher
 
13 - 01.09.21 - 12:59
Не забыл прописать в ПКО документа основания КлючВыгружаемыхДанных?
   Скромный программер
 
14 - 01.09.21 - 13:02
Заметил еще одну особенность. Итак, у меня есть основной документ (счет-фактура) и в нем документ-основание типа ПервичныйДокумент. При загрузке данных самый первый счет-фактура (пусть в нем будет контрагент "ИП Пупкин") загружается с заполненным документом-основанием, но он корявый: в нем заполнены только те реквизиты, которые в КД заданы как поля поиска, а остальные с/ф загружаются с пустым документом-основанием (с битой ссылкой). Более того, для этого самого "ИП Пупкин" загрузился еще один ПервичныйДокумент полностью заполоненный, т.е. корректный, но в счет-фактуру подставляется именно корявый.
   fisher
 
15 - 01.09.21 - 13:05
Проверь чтобы в ПКО документа основания был прописан КлючВыгружаемыхДанных и поиск по внутреннему идентификатору был отключен.
   Скромный программер
 
16 - 01.09.21 - 13:10
(15) Ключ - это и есть поля поиска. А что касается поиска по идентификатору, то я еще поставил галочку "Продолжить поиск по полям поиска, если по идентификатору объект приемник не найден".
   fisher
 
17 - 01.09.21 - 13:14
(16) У тебя в принципе не может искать по идентификатору в этом случае. Поиск должен быть настроен ТОЛЬКО по полям поиска.
   fisher
 
18 - 01.09.21 - 13:19
Ну и чтобы все-таки убедиться что с выгрузкой все норм - глянь в файл выгрузки. Все ли документы основания выгружаются.
   fisher
 
19 - 01.09.21 - 13:21
Если выгружаются не все - значит все-таки есть проблема с дедупликацией выгрузки. Если выгружаются все - значит проблема с поиском при загрузке.
   Скромный программер
 
20 - 02.09.21 - 07:08
Разобрался. Это просто какая-то жесть - чуть рак мозгов не заработал. В двух словах еще раз опишу проблему.
В приемнике есть документ счет-фактура на аванс и его основанием является документ ПервичныйДокумент.
Все исходные данные выгружаются в виде структур, т.е. нет никаких ссылок, в т.ч. и на счет-фактуру.
После загрузки в счет-фактуре в основании появляется битая ссылка и это при том, что все документы ПервичныйДокумент загружены, но с другими ГУИДами. При этом самый первый счет-фактура загружается с заполненным основанием, но этот ПервичныйДокумент заполнен коряво (только поля поиска), более того, в базу загружается его дубль и заполненный полностью, но он с другим ГУИД.

Вся проблема была в том, что у документа ПервичныйДокумент есть поле ДатаВходящегоДокумента типа Дата, причем состав даты ТОЛЬКО ДАТА, а в выгружаемых данных дата содержит еще и время больше нуля. Стоило модифицировать выгружаемые данные (привел даты на начало дня) и проблема исчезла. При этом, как я уже написал, в базу ранее загружались документы ПервичныйДокумент с заполненным полем ДатаВходящегоДокумента с отсеченным временем, но документы были с другими ГУИДами - отличными от тех, которые стояли в поле ДокументОснование счета-фактуры. Скорее всего при загрузке на первом проходе (при создании с/ф и попытке создать документ-основание) выясняется несовпадение дат по формату и ПервичныйДокумент не записывается, а на втором проходе этот фактор игнорируется и ПервичныйДокумент создается и записывается - но уже с новым ГУИДом.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.