Добавить строки в существующий документ
Добрый день. Подскажите, с логикой решения задачи в КД, пожалуйста.
Есть документ в базе Источника. И почти такой же в базе Приемника. Обычная выгрузка/загрузка происходит. Когда документ из И попадает в П - он непроведен, его немного корректируют и проводят. В такой ситуации все ок.
Однако бывает ситуации когда в базе И в табличную часть добавляется пару строк - и тут необходимо чтобы в базу П в документ, если количество строк разное, добавились отсутствующие строки, но без изменения других реквизитов.
Есть документ в базе Источника. И почти такой же в базе Приемника. Обычная выгрузка/загрузка происходит. Когда документ из И попадает в П - он непроведен, его немного корректируют и проводят. В такой ситуации все ок.
Однако бывает ситуации когда в базе И в табличную часть добавляется пару строк - и тут необходимо чтобы в базу П в документ, если количество строк разное, добавились отсутствующие строки, но без изменения других реквизитов.
По теме из базы знаний
- Нумерация документов с префиксом по дате (настройка префикса документов)
- Пакетный ввод документов в "1С:Бухгалтерия 3.0" (счет, реализация, счет-фактура)
- Загрузка чеков из ФНС в документы 1С:БП, УНФ, ERP, КА и УТ
- Шаблон обработки документов/справочников по произвольному алгоритму
- Универсальная раскраска журналов документов информационной базы (цветные журналы документов)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)С точки зрения методологии обмена - не правильный подход. Вы никогда не получите синхронности документов.
Правильнее было бы наладить обратную связь, после корректировки и исправлений документов в приемнике синхронизировать их в источник, тогда при следующих изменениях в источнике вам не надо было бы проверять синхронность в приемнике.
В данном случае документ в приемнике просто замещается из источника.
Хотя и то что Вы хотите, можно тоже реализовать.
Например, в ПКО написать сравнение документа из приемника с документом из источника...
Правильнее было бы наладить обратную связь, после корректировки и исправлений документов в приемнике синхронизировать их в источник, тогда при следующих изменениях в источнике вам не надо было бы проверять синхронность в приемнике.
В данном случае документ в приемнике просто замещается из источника.
Хотя и то что Вы хотите, можно тоже реализовать.
Например, в ПКО написать сравнение документа из приемника с документом из источника...
Я пока присматривалась к ПКО После загрузки.
Если объект найден и объект проведен, то я могу сравнивать количество строк в Ссылке и Объекте. И определить что они разные, найти строки которые нет и .. вот и тут что? В итоге все равно произойдет замещение документа
Если объект найден и объект проведен, то я могу сравнивать количество строк в Ссылке и Объекте. И определить что они разные, найти строки которые нет и .. вот и тут что? В итоге все равно произойдет замещение документа
(5) После загрузки выгружаете тч ссылки в временную тз, далее сохраняете объект, получая актуальные данные из источника ( с добавленными строками), а потом уже в цикле гоняете таб часть и сравниваете с тз, например по номеру строки, если есть расхождения - берете данные из тз и вставляете в таб часть объекта. Костыль конечно, но работать по идее будет.
Я понимаю, что методология - неправильная. Но принцип работы с документами никто сейчас менять не будет, а план обмена настраивать надо.
Спасибо всем кто отозвался :)
maks_20, такой вариант обдумывала, но вот сохранить перед этим объект не сообразила, спасибо. Такой костыль отработал ;)
Спасибо всем кто отозвался :)
maks_20, такой вариант обдумывала, но вот сохранить перед этим объект не сообразила, спасибо. Такой костыль отработал ;)
Передаем все реквизиты в параметр кроме реквизитов поиска и тех, которые не изменяются обычно. После загрузки объект в приемнике сравниваем с тем что в параметре. Если в приемнике в строке пустой товар - условно- заполняем из параметра. Но я бы добавила в базе приемника в таб часть признак ручного редактирования и сравнивала с ним. Это позволит запретить загрузку только явно отредактированных строк и синхронизировать все остальное.
Кроме этого желательно запретить удаление строк и сортировку. можно в источнике добавить реквизит, фиксирующий факт выгрузки данных и закрывающий строки на редактирование. Но удобнее всего сделать два вида документов, вместо табличной части на каждую строку отдельный документ или запись регистра сведений. Даже если никто не будет менять логику работы, архитектура может меняться в целях повышения надежности
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот