Добавить строки в существующий документ

1. LCLNN 14.09.18 10:02 Сейчас в теме
Добрый день. Подскажите, с логикой решения задачи в КД, пожалуйста.
Есть документ в базе Источника. И почти такой же в базе Приемника. Обычная выгрузка/загрузка происходит. Когда документ из И попадает в П - он непроведен, его немного корректируют и проводят. В такой ситуации все ок.
Однако бывает ситуации когда в базе И в табличную часть добавляется пару строк - и тут необходимо чтобы в базу П в документ, если количество строк разное, добавились отсутствующие строки, но без изменения других реквизитов.
acanta; +1
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1484 14.09.18 10:06 Сейчас в теме
(1) создаешь пкгс и там пишешь код, который возьмет строки из п и добавит разницу из и.
+
4. lefthander 14.09.18 10:18 Сейчас в теме
(2) Это если строки одинаковые, но если их корректировали в приемнике, то как определить разницу?
+
6. LCLNN 14.09.18 10:32 Сейчас в теме
(4) а если в приемнике часть колонок не корректируются?
+
8. Xershi 1484 14.09.18 10:49 Сейчас в теме
(4) как уже сказали у вас некорректный подход к обмену.
А по вашему вопросу это ложится на ваши плечи!
+
10. lefthander 16.09.18 13:07 Сейчас в теме
(8)Хм... ответ конечно интересный, но не мне это точно. Не я автор топика...
+
3. lefthander 14.09.18 10:16 Сейчас в теме
(1)С точки зрения методологии обмена - не правильный подход. Вы никогда не получите синхронности документов.
Правильнее было бы наладить обратную связь, после корректировки и исправлений документов в приемнике синхронизировать их в источник, тогда при следующих изменениях в источнике вам не надо было бы проверять синхронность в приемнике.
В данном случае документ в приемнике просто замещается из источника.
Хотя и то что Вы хотите, можно тоже реализовать.
Например, в ПКО написать сравнение документа из приемника с документом из источника...
Fox-trot; LCLNN; +2
5. LCLNN 14.09.18 10:30 Сейчас в теме
Я пока присматривалась к ПКО После загрузки.
Если объект найден и объект проведен, то я могу сравнивать количество строк в Ссылке и Объекте. И определить что они разные, найти строки которые нет и .. вот и тут что? В итоге все равно произойдет замещение документа
+
7. maks_20 164 14.09.18 10:34 Сейчас в теме
(5) После загрузки выгружаете тч ссылки в временную тз, далее сохраняете объект, получая актуальные данные из источника ( с добавленными строками), а потом уже в цикле гоняете таб часть и сравниваете с тз, например по номеру строки, если есть расхождения - берете данные из тз и вставляете в таб часть объекта. Костыль конечно, но работать по идее будет.
LCLNN; +1
9. LCLNN 14.09.18 11:41 Сейчас в теме
Я понимаю, что методология - неправильная. Но принцип работы с документами никто сейчас менять не будет, а план обмена настраивать надо.
Спасибо всем кто отозвался :)
maks_20, такой вариант обдумывала, но вот сохранить перед этим объект не сообразила, спасибо. Такой костыль отработал ;)
+
11. acanta 16.09.18 13:14 Сейчас в теме
Передаем все реквизиты в параметр кроме реквизитов поиска и тех, которые не изменяются обычно. После загрузки объект в приемнике сравниваем с тем что в параметре. Если в приемнике в строке пустой товар - условно- заполняем из параметра. Но я бы добавила в базе приемника в таб часть признак ручного редактирования и сравнивала с ним. Это позволит запретить загрузку только явно отредактированных строк и синхронизировать все остальное.
+
12. acanta 16.09.18 14:19 Сейчас в теме
Кроме этого желательно запретить удаление строк и сортировку. можно в источнике добавить реквизит, фиксирующий факт выгрузки данных и закрывающий строки на редактирование. Но удобнее всего сделать два вида документов, вместо табличной части на каждую строку отдельный документ или запись регистра сведений. Даже если никто не будет менять логику работы, архитектура может меняться в целях повышения надежности
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот