КД2. Если документ уже был загружен ранее, то не перезаписывать реквизит.

1. muzzombie 09.06.23 10:52 Сейчас в теме
Здравствуйте!
Есть односторонняя загрузка документов из УТ10 в БП3, сделанная в КД2. Задача такая: надо сделать так, что если документ уже был ранее загружен в БП3, то реквизит "Счет учета" в таб. части должен оставаться старый, т.е. не должен перезатираться. Однако он все равно переписывается. Почему не срабатывает мой код?
Прикрепленные файлы:
Найденные решения
41. muzzombie 09.06.23 19:45 Сейчас в теме
Всем спасибо за желание помочь! Проблема решена!
В общем, обмен был не через прямое подключение, а через обмен в каталоге, поэтому процедуры после загрузки надо было править именно в правилах базы-приемника, т.е. БП3. Причем изменение правил в плане обмена в конфигураторе ничего не дало, надо было именно в режиме предприятия загрузить архив с файлом правил и файлом правил корреспондента - тогда только сработало.
user1239818; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. glek 120 09.06.23 11:39 Сейчас в теме
(1) Попробуйте не объект.ссылка, а ссылка.
8. muzzombie 09.06.23 11:50 Сейчас в теме
9. WasiliyMay 8 09.06.23 11:55 Сейчас в теме
(8)Посмотрите еще раз информацию по обработчикам. Там есть параметры "Ссылка" и "ОбъектНайден". Возможно, это поможет.
15. glek 120 09.06.23 12:44 Сейчас в теме
(8) А отладка что показывает? Находит номенклатуру в ссылке или нет?
16. muzzombie 09.06.23 12:53 Сейчас в теме
(15) Для проверки добавил изменение комментария в документе. И внезапно комментарий вообще не меняется на эти фразы. Это значит, что вообще другой план обмена используется в базе?
Прикрепленные файлы:
19. RustamZz 09.06.23 12:58 Сейчас в теме
(16) Тогда Тогда - это реальный код?
21. muzzombie 09.06.23 13:02 Сейчас в теме
(19) Да, реальный. Спасибо, исправил! Но это не помогло.
24. glek 120 09.06.23 13:10 Сейчас в теме
(16) Эм... Извиняюсь. А что должна вернуть строка
Ссылка.НайтиСтроки
? О_О
25. muzzombie 09.06.23 13:12 Сейчас в теме
(24) Массив найденных строк из уже существующего в приемнике документа.
26. glek 120 09.06.23 13:14 Сейчас в теме
(25) Может тогда Ссылка.Товары.НайтиСтроки? Не?
29. muzzombie 09.06.23 13:20 Сейчас в теме
(26) Вы абсолютно правы, спасибо! Но исправление не помогло. У документа почему-то вообще комментарий не меняется на мой. Хотя я жестко уже прописал, чтобы он был равен определенной фразе.
Прикрепленные файлы:
34. glek 120 09.06.23 15:02 Сейчас в теме
(29) Дальше только отладка. Идеи закончились.
40. muzzombie 09.06.23 17:26 Сейчас в теме
(34) Оказалось, что Счет учета в БП3 сам подставляется при подстановке номенклатуры в таб. части.
35. glek 120 09.06.23 15:04 Сейчас в теме
(29) Случайно там кстати не в попытке исключении загружается обрабатывается?
39. muzzombie 09.06.23 16:20 Сейчас в теме
(35) Нет. Я в итоге вообще закомментировал этот раздел - ситуация не изменилась.
10. RustamZz 09.06.23 11:57 Сейчас в теме
(1)
Если Не ОбъектНайден Тогда
12. muzzombie 09.06.23 12:04 Сейчас в теме
(9) (10) не помогло.
Прикрепленные файлы:
13. RustamZz 09.06.23 12:07 Сейчас в теме
(12) Так вы заполняйте счета если не найден, а не перечитывайте из базы.
14. muzzombie 09.06.23 12:08 Сейчас в теме
(13) счета учета и так прекрасно заполняются, если документ в приемнике НЕ найден. Мне же надо, чтобы счета учета НЕ заполнялись, если документ в приемнике найден.
17. RustamZz 09.06.23 12:56 Сейчас в теме
(14) Я не вижу где они заполняются, а вижу что перезаполняются из базы.
18. muzzombie 09.06.23 12:58 Сейчас в теме
(17) А почему нельзя заполнять из базы? В базе бухгалтер поставил нужный ему счет учета. Этот счет учета важно оставить при загрузке.
20. RustamZz 09.06.23 12:59 Сейчас в теме
(18) Если счет принудительно не заполнять, то он останется какой был установлен бухгалтером.
22. muzzombie 09.06.23 13:04 Сейчас в теме
(20) А как сделать, чтобы счет не заполнялся, если документ найден? Пробовал вот так - не помогает.
Прикрепленные файлы:
23. RustamZz 09.06.23 13:09 Сейчас в теме
(22) Зачем вам эта настройка? Удаляйте реквизит из обмена. И покажите где происходит реальное заполнение.
27. muzzombie 09.06.23 13:15 Сейчас в теме
(23)
Прикрепленные файлы:
28. RustamZz 09.06.23 13:18 Сейчас в теме
(27) Нет тут заполнения счета.
30. muzzombie 09.06.23 13:40 Сейчас в теме
(28)Наверное, это оно.
Прикрепленные файлы:
31. RustamZz 09.06.23 14:09 Сейчас в теме
(30) Совершенно верно и отрабатывает после ПослеЗагрузкиДанных
32. muzzombie 09.06.23 14:54 Сейчас в теме
(31) Сбацал вот такой код в этом месте, но ничего не изменилось.
Прикрепленные файлы:
33. RustamZz 09.06.23 15:01 Сейчас в теме
(32)
СчетаУчетаВДокументах.ЗаполнитьПередЗаписью
36. muzzombie 09.06.23 15:11 Сейчас в теме
(33) Перенес под условие - не помогло. Причем даже простая строка с установкой комментария не работает. Но если установку комментария прямо прописать в реквизите, то работает. То есть явно используются именно эти правила обмена при обмене.
Прикрепленные файлы:
37. RustamZz 09.06.23 15:14 Сейчас в теме
(36) Потому что тип не ссылка, а объект
38. muzzombie 09.06.23 15:17 Сейчас в теме
Вы об этом?
Прикрепленные файлы:
2. tolyan_ekb 105 09.06.23 10:57 Сейчас в теме
3. BackinSoda 09.06.23 11:19 Сейчас в теме
"После загрузки", предполагается, что объект уже записан в базу
4. Naumov 24 09.06.23 11:27 Сейчас в теме
(3) Чтение описания не для вас? лучше придумать?
"Событие выполняется после прочтения и установки атрибутов объекта из файла, но до его записи в информационную базу."
из описания.
5. BackinSoda 09.06.23 11:32 Сейчас в теме
(4) чтение описания доступно тем у кого Кд под рукой ) значит не прав, хоть и название обработчика интуитивно не соответствует описанию
6. Naumov 24 09.06.23 11:35 Сейчас в теме
(0) А это весь текст обработчика?
и в одноименном событии конвертации ничего не делается? Запись, например.
11. muzzombie 09.06.23 11:57 Сейчас в теме
(6) В обработчике много всего происходит. Перетащил свой код ближе к концу - не помогло.
Прикрепленные файлы:
41. muzzombie 09.06.23 19:45 Сейчас в теме
Всем спасибо за желание помочь! Проблема решена!
В общем, обмен был не через прямое подключение, а через обмен в каталоге, поэтому процедуры после загрузки надо было править именно в правилах базы-приемника, т.е. БП3. Причем изменение правил в плане обмена в конфигураторе ничего не дало, надо было именно в режиме предприятия загрузить архив с файлом правил и файлом правил корреспондента - тогда только сработало.
user1239818; +1 Ответить
42. Borisych 503 13.06.23 21:49 Сейчас в теме
43. Xershi 1557 27.12.23 15:02 Сейчас в теме
(41) в обменах с КД2 можно загрузить архив или использовать конфигурацию.
У меня другая проблема справочник нельзя перезаписывать ИдентификаторыОбъектовМетаданныхПоПредставлению.
В коде КА2 стоит, что перезаписывать можно в режиме обмена и обновлении ИБ.
Есть конечно выход поставить галочку, перезаписывать только измененные.
Но хотело бы решить вопрос и без нее.
Прикрепленные файлы:
44. Xershi 1557 29.12.23 16:23 Сейчас в теме
(43) нашел решение ПКО при загрузке:
// Падает на записи без режима обмена, объект не нужно записывать вообще, рекомендуют в после записи проверять найден объект и отказ делать!
Если ОбъектНайден Тогда
	НеЗамещатьОбъект = Истина;	
КонецЕсли;

В отладчике прогнал весь цикл.
Находит ссылку. Далее идет ее записывать. Получает объект и выполняет код правила.
Как уже писал СправочникСсылка.ИдентификаторыОбъектовМетаданных нельзя перезаписывать. После этого ничего дополнительно при загрузке делать не нужно!
Оставьте свое сообщение

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