Защита объектов от изменения обменом

29.01.24

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Расширение позволяет пользователю заблокировать объект 1С (документ, справочник) от изменения последующими загрузками данных или обменами.

Скачать файлы

Наименование Файл Версия Размер
Расширение: Защита объектов от изменения обменом (версия 04.01.2022 с отказом):
.cfe 21,81Kb
36
.cfe 21,81Kb 36 Скачать
Расширение: Защита объектов от изменения обменом (версия 04.01.2022 без отказа с восстановлением от Malfarion):
.cfe 21,92Kb
34
.cfe 21,92Kb 34 Скачать

Во многих базах 1С работают обмены данными и загрузки из различных источников в Базу-приемник. И было бы неплохо в такой ситуации дать возможность пользователю защитить объект (документ, справочник) в Базе-приемнике от повторного затирания следующими итерациями обменов. Это необходимо, например, когда объекты в Базу-приемник приходят частично или не совсем корректно заполненными и ответственные пользователи вручную проверяют пришедший объект и дозаполняют его до нужного состояния. Но не могут зафиксировать свою работу предотвратив случайное затирание при следующей загрузке.

Примечание: Стандартная дата запрета не защищает объекты 1С от изменения загрузками данных, т.к. не контролирует внесение изменений объекта в режиме ЭтотОбъект.ОбменДанными.Загрузка = Истина, в котором работают загрузки и обмены, поэтому требуется доработка контроля. Я, например, использовал это расширение при загрузках универсальным обменом данными из УПП в ЕРП в период перехода с одной базы на другую, вообще можно использовать при любых обменах между базами (см. ниже блок Проверка работоспособности в конфигурациях).

Немного о расширении:

  • Кнопка установки защиты на объект выводится динамически в верхнюю панель формы справочников, документов, планов видов характеристик через перехват методов общих модулей: ВерсионированиеОбъектов и УправлениеСвойствами. Действие нажатия кнопки обрабатывается через перехват методов общего модуля ПодключаемыеКомандыКлиент;
  • В режиме обмена/загрузки в подписках на событие перед записью проверяется запрет на изменение объектов и запрещается менять защищенный пользователем объект . ПримечаниеПри этом менять сам объект в базе пользователю можно, запрет действует только на изменение объекта обменом или загрузкой;
  • Поддерживается два статуса объекта:  - обмен объекта разрешен,  - перезапись объекта обменом запрещена;
  • Сами ссылки на защищенные объекты хранятся в расширении регистре сведений "ЗИО: Закрытые от изменения объекты" (навигационная ссылка) e1cib/list/РегистрСведений.зио_ЗакрытыеОтИзмененияОбъекты, в нем можно перейти к объекту и отредактировать состояние вручную.

Ниже пара простых примеров установки блокировки:

 
  Пример 1: Защита приема на работу и сотрудника от затирания в 1С:Зарплата и управление персоналом
 
  Пример 2: Защита заявки и контрагента от затирания в 1С:ERP
 
 Пример 3: Защита платежа от затирания в 1С:Бухгалтерия предприятия

 

Проверка работоспособности в конфигурациях:

Работа расширения успешно проверено на платформе 1С:Предприятие 8.3 (8.3.18.1520) в конфигурациях:

  • 1С:ERP Управление предприятием 2 (2.4.11.91, 2.5.7.201)
  • 1С:Комплексная автоматизация 2 (2.4.9.98)
  • 1С:Управление торговлей, редакция 11 (11.4.8.84)
  • 1С:Зарплата и управление персоналом, редакция 3.1 (3.1.18.337, 3.1.20.97) 
  • 1С:Бухгалтерия предприятия, редакция 3.0 (3.0.106.60) 

Т.к. в расширении подписки на события используются, то Режим совместимости конфигурации нужен от Версия 8.3.16 (либо удаляйте подписки из расширения и делайте перехват процедур от подписок перед записью из конфигурации)

Расширение использует универсальные механизмы, общие для многих продуктов 1С, поэтому может быть подключено к разным продуктам 1С либо доработано с минимальными затратами. Конфигурация продукта 1С должна быть построена на базе БСП (Библиотеки стандартных подсистем, входит в типовые конфигурации 8.3)

ВЕРСИИ ДЛЯ СКАЧИВАНИЯ: 

  • Расширение: Защита объектов от изменения обменом (версия 04.01.2022 с отказом) - При загрузка выполняется отказ от записи защищенного объекта, нужно сочетать с признаком продолжения загрузки при возникновении ошибки, либо анализировать и убирать из регистрации в источнике запрещенный объект. Обратите внимание, что 

    ЭтотОбъект.ОбменДанными.Загрузка=Истина может вызываться, например, в обработке редакторе объекта
    и других местах, поэтому можно в код добавить проверку пользователя или специальной роли. Так на автообмены для фонового обычно выделяют определенного пользователя и можно добавить проверку на его имя. Вообщем, код открыт, используйте расширение как шаблон, дополняя по своей специфике. Вместо подписок на событие в Правилах обмена можно обращаться к регистру, хранящему защищенные объекты и выполнять отказ от записи объекта (зависит от контекста задачи).

  • Расширение: Защита объектов от изменения обменом (версия 04.01.2022 без отказа с восстановлением от Malfarion) - При загрузке отказ не выполняется, а выполняется восстановление объекта ЗаполнитьЗначенияСвойств(ЭтотОбъект,Ссылка) , восстанавливая объект. Кому-то потребуется чуть посложнее обвязку сделать, дело в том что у ЗаполнитьЗначениеСвойств() есть проблема с реквизитами "Владелец" и "Родитель". Например если справочник не подчиненный он на этой конструкции выкинет ошибку на то что пытается записать "владельца", а этот реквизит недоступен для записи. Это скорее проблема у ЗаполнитьЗначениеСвойств, но в текущих платформах надо самому это определять и ставить в список исключающих свойств. По табличным частям также сами сделайте восстановление выгрузкой из ссылки и загрузкой в объект (если необходимо)

 
 Как подключить расширение к базе 1С?
 
 Другие публикации автора
Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.15.103
  • 1С:Комплексная автоматизация 2, релизы 2.5.15.103
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.147.25
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.28.65
  • Управление торговлей, редакция 11, релизы 11.5.15.103
  • Розница, редакция 2.3, релизы 2.3.17.19

запрет редактирования обмен данными загрузка XML защита блокировка

См. также

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134940    723    291    

388

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 27720 руб.

15.04.2019    68420    178    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

43450 34760 руб.

03.12.2020    34169    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 25200 руб.

23.07.2020    46301    196    64    

158

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9208    9    8    

10

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.223.x) и БП 3.0 (3.0.149.x). Правила подходят для версии ПРОФ и КОРП.

28000 25200 руб.

15.12.2021    20252    132    38    

90

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 45650 руб.

10.07.2018    67445    41    122    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150729    367    375    

501
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. alexey_kurdyukov 155 05.01.22 10:53 Сейчас в теме
Кажется, больше нужен запрет обмена на стороне УПП
2. sapervodichka 6697 05.01.22 11:13 Сейчас в теме
(1) ну в данном случае с УПП переходили на ЕРП. УПП был источником данных, с которого переносили в ЕРП данные каждый день в течение 3-х месяцев, поэтому запрет для объектов требовался именно в ЕРП для пользователей выверяющих и дозаполняющих там данные. В УПП использовали просто стандартные даты запрета изменения данных закрывающие период от редактирования.
3. infosoft-v 871 05.01.22 11:28 Сейчас в теме
Частично эту задачу решает настройка Дата запрета загрузки
Прикрепленные файлы:
e.kogan; sbcode; sapervodichka; +3 Ответить
4. sapervodichka 6697 05.01.22 11:39 Сейчас в теме
(3) Да, есть такая штука, она такая более общая, там мин граница до раздела, до ссылки не спуститься. Тоже нужно о ней знать при синхронизациях. Спасибо за коммент.
6. fatman78 17 05.01.22 13:28 Сейчас в теме
(3)Недавно напоролся на "дыру" во встроенном механизме безопасности типового обменов - Стояло 3 даты запрета: дата запрета редактирования в базе приемнике, дата "запрета загрузки" в приемнике, дата начала выгрузки документов в базе источнике, формат ED 1.8

В источнике при обмене вместе с объектом "Расходной накладной" выгружается его таблица "зачета" оплат, в которой находились ссылки на зачтенные предоплаты - банковские документы на "авансы", которые были за пределами начала обмена (были по сути пустыми помеченными на удаление документами заглушками для начальной задолженности контрагентов на дату начала ведения учета в базе источнике), однако это не помешало в приемнике модулю обмена найти их "аналоги" в закрытом периоде с двумя датами запрета (запрет изменения и запрет загрузки) пометить на удаление эти документы (содержимое документов не очистилось). При включенном версионировании никаких записей об изменении обмен не сделал. Виновника вычислил случайно, анализируя Журнал регистрации (в одной фоновом задании были изменены эти связанные документы).
Пока полечил включением в настройках синхронизации источника галочки "Автоматически зачитывать авансы", тем самым таблица ссылок на зачтенные документы авансов не передается. Но это ведь неправильно.

P.S. Источник УНФ, приемник БУХ. ED 1.8
5. dhurricane 05.01.22 13:02 Сейчас в теме
В ERP есть механизм проверки документов, похожий на представленный в этой статье. Он действительно учитывает признак загрузки, но эту проверку можно было бы отключить расширением вместо изобретения собственного механизма защиты. Вы с заделом на будущее разрабатывали? Или из спортивного интереса?
10. sapervodichka 6697 05.01.22 16:34 Сейчас в теме
(5) проверка документа и защита от обмена, это механизмы с разной задачей. При защите от обмена исходили из универсальности подхода и цели защитить от изменения обменами и загрузками, при этом оставив пользователям возможность работы с объектами в том числе изменения. Основные цели были 1) Блокировать не только документы но и справочники и ПВХ; 2) Быстро подключать к любому объекту; - ну и еще раз напишу, что Проверка документов немного другой смысл несет, она не дает после установки людям работать с документом, а задача защитить от перезаписи обменом и загрузками, не запрещая работать с объектом в базе.
7. fatman78 17 05.01.22 13:45 Сейчас в теме
(4) Вы в какой-то одной общей процедуре обмена "перед записью" перехватываете управление, когда уже известно найден объект в приемнике или нет и можно проверить на признак установки блокировки, или для каждого вида надо отдельно в нескольких процедурах отлавливать событие?

Хочу сделать что-то похожее, но только еще с обратной связью через регистр сведений в источнике, чтобы в него передавать информацию об установленном на объект запрете изменений для обмена в приемнике, и выдавать предупреждение пользователю при интерактивной записи задним числом документа в источнике - о том что эти изменения уже не отразятся в приемнике.
8. 31337 39 05.01.22 15:17 Сейчас в теме
хорошая доработка, спасибо. С обменами сколько ньюансов, что уже и не знаешь зачастую как там разрулить всё)))
9. Malfarion 251 05.01.22 16:33 Сейчас в теме
Приходилось не так давно решать похожу задачу. Интересно как вы организовали сам запрет на изменение объекта?
Мне например пришлось ПередЗаписью восстанавливать реквизиты объекта из "ссылки"
ЗаполнитьЗначенияСвойств(ЭтотОбъект,Ссылка);

Установка "Отказ" в истина вызывало исключение в нижестоящем коде. У вас какой-то другой подход?
11. sapervodichka 6697 05.01.22 16:36 Сейчас в теме
(9) подход = в подписке запрещать события записи в режиме ЭтотОбъект.ОбменДанными.Загрузка = Истина для выбранных объектов + в загрузках есть признаки продолжать загрузку в случае возникновения ошибки.
12. Malfarion 251 05.01.22 16:37 Сейчас в теме
(11) Запрещать как, через Отказ = Истина ?
13. sapervodichka 6697 05.01.22 16:39 Сейчас в теме
(12) да Отказ = Истина + Признак продолжать загрузку в случае возникновения ошибки (в некоторых случаях убирали объект из регистрации в источнике и анализировалили изменения, чтобы в дальнейшем согласовать регламент изменения и убрать такие ситуации)
14. Malfarion 251 05.01.22 16:43 Сейчас в теме
(13)
Отказ = Истина

Как совет для развития расширения, такой подход будет работать не всегда.
Отказ = Истина вызовет исключение в вызывающем запись коде, что не везде будет корректно обработано.
Мне приходилось решать аналогичную задачу не для типового обмена а для обмена с сайтом, и вызывающий код не умел корректно обрабатывать исключение отказа.
Я использовал подход ЗаполнитьЗначенияСвойств(ЭтотОбъект,Ссылка) , "Восстанавливая объект" перед записью, и разрешал запись, запись фактически была, но данные не менялись.
maksa2005; klaus38; ardn; sapervodichka; +4 Ответить
15. sapervodichka 6697 05.01.22 16:47 Сейчас в теме
(14) Спасибо, пометил как лучший комментарий, там люди которым будет интересна тема в код записи сами добавят ЗаполнитьЗначенияСвойств(ЭтотОбъект, Ссылка) в подписках расширения, если все таки нужно будет перезаписывать объект.
16. sapervodichka 6697 05.01.22 17:02 Сейчас в теме
(15) Добавил вариант расширения в твоем исполнении!
36. e.kogan 1892 17.01.22 14:46 Сейчас в теме
(15) С табчастями корректно разве отработает? Помню, налетала так
37. sapervodichka 6697 17.01.22 15:37 Сейчас в теме
(36) верно, таб части Выгрузить/Загрузить надо добавлять самостоятельно, там в публикации указано у этой версии
52. RocKeR_13 1317 10.10.22 16:35 Сейчас в теме
(15) Случайно наткнулся на эту тему. Есть же более лаконичное решение: вместо ЗаполнитьЗначенияСвойств можно же просто вызвать метод Прочитать(), чтобы 1С перечитала в записываемый объект данные из БД.
17. fatman78 17 05.01.22 21:01 Сейчас в теме
(14)
ЗаполнитьЗначенияСвойств

А это не будет садить производительность? Там ведь кроме ЗаполнитьЗначенияСвойств(ЭтотОбъект,Ссылка) еще надо по всем табличным частям объекта пробежаться и загрузить их из базы данных. Да и сам метод ЗаполнитьЗначенияСвойств не особо производительный https://its.1c.ru/db/metod8dev/content/2322/hdoc
e.kogan; hdkw; +2 Ответить
18. fatman78 17 05.01.22 22:10 Сейчас в теме
(11) А нельзя реализовать этот функционал через перехватит процедуры ОбменДаннымиXDTOСервер.ПередЗаписьюПолученныхДанных? , В этот момент объект штатными средствами уже найден "ДанныеИБ". Ведь если вместо вызова вложенных обработчиков "ПередЗаписьюПолученныхДанных" через
попытка МенеджерОбмена.ВыполнитьПроцедуруМодуляМенеджера(ИмяОбработчика, СтруктураПараметров);
обнулить переменную "ПолученныеДанные" то запись изменений в базу не производится. Бонусом останется возможность программно использовать конструкцию "ОбменДанными.Загрузка = Истина" для решения других задач.
e.kogan; sapervodichka; +2 Ответить
20. sapervodichka 6697 06.01.22 15:38 Сейчас в теме
(18) да, по сути можно в любом месте перехватить и вставить вызов функции проверки закрытия объекта зио_Сервер.ОбъектЗакрытОтОбмена(СсылкаНаОбъект). Код в расширении открыт и как шаблон можно использовать функционал вывода кнопок, хранения ссылок закрытых, ну а проверку вставлять в любое место.
22. fatman78 17 07.01.22 14:00 Сейчас в теме
(20) Подскажите пож-та, какой тип для измерения "объект" регистра сведений используется? Или как обошли запрет на использование в расширении заимствованных определяемых типов или ЛюбаяСсылка (я про ошибку Использование наборов типов и определяемых типов в расширении недопустимо) Или "объект" это просто отрисовка на форме по связке "Тип объекта" и UID (либо просто навигационная ссылка). Ссылочная целостность поддерживается?
23. sapervodichka 6697 07.01.22 15:02 Сейчас в теме
(22)
"Тип объекта" и UID
- да вот это
fatman78; +1 Ответить
19. Leon75 05.01.22 22:21 Сейчас в теме
Источник.ОбменДанными.Загрузка=Истина может вызываться в обработке редакторе объекта
и много где еще.
Я думаю нужно еще проверять пользователя или его роль или доп.настройку, так как на автообмены для фонового обычно выделяют определенный аккаунт.
sapervodichka; +1 Ответить
21. sapervodichka 6697 06.01.22 15:56 Сейчас в теме
(19) да, можно добавить проверку на роль или имя пользователя, код открыт, расширение как шаблон.
24. winapi 60 10.01.22 09:22 Сейчас в теме
Очень странное описание проблемы, решение похоже на костыль. Вы устраняете не причину, а следствие. А что происходит с объектом в базе источника? Он удаляется из плана обмена? Если удаляется, а в этой базе остается другая версия, то значит будет расхождение в данных. Очень похоже на какой-то кривой бизнес-процесс... Вы написали про дату запрета редактирования, которая не влияет на обмен, так это всё правильно - её нужно устанавливать в базе источнике, тогда и приходить ничего не будет. Также проблему можно решать, закрывая изменение самих объектов в базе источнике (по конечному статусу, по правам и т.п.). В вашем случае чем дальше, тем больше будут расходиться данные и что либо сверить будет проблематично.
25. sapervodichka 6697 10.01.22 10:51 Сейчас в теме
(24) как-то много вопросов, подумаю сделать митап на эту тему ))) вот здесь можно ознакомиться с ситуацией частичной загрузки объектов в период перехода с УПП на ERP
https://infostart.ru/1c/articles/1540097/
26. sapervodichka 6697 10.01.22 12:16 Сейчас в теме
(24)
Вы написали про дату запрета редактирования, которая не влияет на обмен, так это всё правильно - её нужно устанавливать в базе источнике, тогда и приходить ничего не будет
- Объект будет отправляться из Источника и приходить в Приемник ))) если объект по ссылке тянется или зарегистрирован к обмену, независимо от того, чтобы там в источнике датами и правами не закрывалось.
(24)
В вашем случае чем дальше, тем больше будут расходиться данные и что либо сверить будет проблематично.
- в моем случае все будет нормально, т.к. по условию задачи объекты приходят частично заполненными, далее выверяются и дозаполняются пользователями, а вот в вашем случае в случае регулярных обменов, где пользователям не нужно править объекты - эту обработку использовать не нужно, она НЕ подходит под условия вашей задачи обмена.
27. SanchoD 295 11.01.22 09:39 Сейчас в теме
Дмитрий, приветствую!

Установил расширение на БП 3.0 (3.0.105.45) - полет нормальный.
На Управление аптечной сетью, редакция 11.4/1.4 (11.4.13.282/1.4.13.185) - проблема с отражением в форме статуса запрета.
Т.е. записи в регистре появляются, признак "Закрыт" меняется, но по пиктограмме не понятно.
Прикрепленные файлы:
28. SanchoD 295 11.01.22 09:55 Сейчас в теме
(27) Даже не так. При повторном открытии документа вообще нет пиктограммы:
Прикрепленные файлы:
29. sapervodichka 6697 11.01.22 11:01 Сейчас в теме
(28) пришлите в текстовом файле код модуля формы документа посмотреть
31. sapervodichka 6697 11.01.22 12:17 Сейчас в теме
(30) хм, странно, и ВерсионированиеОбъектов.ПриСозданииНаСервере и УправлениеСвойствами.ПриСозданииНаСервере вызываются без ограничений. Тогда нужна база "Аптеки", по коду не понятно.
32. sapervodichka 6697 11.01.22 12:42 Сейчас в теме
(31) думаю можно просто конфигурацию или демку Управления аптечной сетью (прислать ссылку на скачивание мне в личку)
33. SanchoD 295 11.01.22 14:22 Сейчас в теме
(31) Базу вряд ли клиент разрешит передать. Если только конфигу.
34. SanchoD 295 12.01.22 17:25 Сейчас в теме
Проблему нашел и исправил.
Вот в этом все дело:
Прикрепленные файлы:
sapervodichka; +1 Ответить
35. sapervodichka 6697 12.01.22 19:26 Сейчас в теме
(34) нет этой картинки в УАС, получается. Спасибо, что написал, наверняка найдутся люди кому это пригодится.
38. maksa2005 530 08.02.22 07:47 Сейчас в теме
Поставил. обмены встали. пришлось убрать. пример ошибок:

Дата: 08.02.2022 9:45:51
Пользователь: Аренда
Комментарий:
Ошибка записи объекта
ТипОбъекта = Контрагент
Объект = ЭКСПЕДИЦИЯ, ООО
КСообщенияОбОшибках = 26
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1754)}: ВызватьИсключение СтрокаСообщенияОбОшибке;
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10195)}: ЗаписатьОбъектВИБ(Объект, ТипОбъекта, ЗаписатьОбъект, ОтправкаНазад);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16024)}: ПоследнийОбъектЗагрузки = ПрочитатьОбъект();
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2667)}: ПроизвестиЧтениеДанныхВРежимеВнешнегоСоединения(ЧтениеСообщения);

Дата: 08.02.2022 9:45:51
Пользователь: ДСК
Комментарий:
Ошибка при записи документа: Поступление на расчетный счет 0К00-000033 от 07.02.2022 16:49:47. Описание ошибки: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1807)}: Ошибка записи объекта
ТипОбъекта = Поступление на расчетный счет
Объект = Поступление на расчетный счет 0К00-000033 от 07.02.2022 16:49:47
КСообщенияОбОшибках = 26
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10153)}: ВызватьИсключение СтрокаСообщения;
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16024)}: ПоследнийОбъектЗагрузки = ПрочитатьОбъект();
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2667)}: ПроизвестиЧтениеДанныхВРежимеВнешнегоСоединения(ЧтениеСообщения);

Дата: 08.02.2022 9:45:50
Пользователь: ДСК
Комментарий:
Ошибка при записи документа
ИмяПКО = ПоступлениеНаРасчетныйСчет
ТипОбъекта = Поступление на расчетный счет
Объект = Поступление на расчетный счет 0К00-000033 от 07.02.2022 16:49:47
ОписаниеОшибки = Ошибка записи объекта
ТипОбъекта = Поступление на расчетный счет
Объект = Поступление на расчетный счет 0К00-000033 от 07.02.2022 16:49:47
КСообщенияОбОшибках = 26
ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1807)
КСообщенияОбОшибках = 25
39. sapervodichka 6697 08.02.22 10:58 Сейчас в теме
(38) Нужно поменять в расширении и указать, чтобы при обмене такие ошибки пропускались и загрузка продолжалась.
Можно перехватить и сюда Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10195) вставить контроли, вместо подписок из расширения, а подписки убрать.
40. maksa2005 530 08.02.22 11:53 Сейчас в теме
(39)Это не решение проблемы.
41. sapervodichka 6697 08.02.22 11:55 Сейчас в теме
(40) не надо тут диктовать свои условия. Эта публикация шаблон стоимостью в 2 бутылки пива (а не платное поддерживаемое решение), если у тебя нет навыков подстроить под себя, то попроси специалиста.
42. maksa2005 530 08.02.22 11:57 Сейчас в теме
(41)Ни кто и не диктует? Вы видели хоть слово чтобы Я вам что-то диктовал? не помню чтобы на ты переходили...
Ставить закладки на каждое условие - это специалист. хахахахаха
43. sapervodichka 6697 08.02.22 11:59 Сейчас в теме
(42) условия в расширении описаны на объект (для примера в подписках + там еще описание про отказ указано, что надо делать чтобы пропускать такие ситуации), Сейчас мной тебе предлагается бесплатный совет вставить условия в обработку конвертации, перехватив в расширении метод записи, делается это 15 минут. (только не надо тут концерты устраивать)
44. Bair107 07.06.22 11:52 Сейчас в теме
Скачал версию с восстановлением, думал сейчас пропишу для справочника Номенклатуры
ЗаполнитьЗначенияСвойств(Источник, Источник.Ссылка);

исключение для владельца
ЗаполнитьЗначенияСвойств(Источник, Источник.Ссылка, , "Владелец");

Но после этого конфигурация (Бухгалтерия 3 последних релизов) начинает выдавать ошибки при запуске и при работе, что поле \владелец не найдено.

При том, даже если я верну код после этого в исходное состояние, ошибка не уходит)))

Подскажите, пожалуйста, как сделать исключение для Справочника номенклатуры, чтобы там Владелец не перезаполнялся.
45. sapervodichka 6697 07.06.22 12:27 Сейчас в теме
(44) Справочник.Номенклатура во всех решениях независимый, т.е. не имеет владельца, поэтому и выдается ошибка при попытке найти реквизит "Владелец" у номенклатуры (его там просто нет). Приложите картинки формы справочника и номер релиза БП, чтобы понять как реально называется этот реквизит.
46. Bair107 07.06.22 17:52 Сейчас в теме
(45) Да, я понимаю, что справочник независимый, но реквизит Владелец у него есть, с типом Неопределено. Скрины прикрепил. Я так понял именно из за этого и не работает процедура ЗаполнитьЗначенияСвойств и попытался исключить ненужные реквизиты.
Бухгалтерия предприятия, редакция 3.0 (3.0.112.34) Если просто подключить расширение и попытаться заблокировать элемент справочника номенклатура, то обмен не произойдет и выйдут ошибки

Ошибка записи объекта
ТипОбъекта = Номенклатура
Объект = 2"Шарнирное соединение 2-х ход Р-Г
ОписаниеОшибки = Справочник не имеет владельца
ПозицияМодуля = {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2482)}:Объект.Записать();
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1949)}:ЗаписатьОбъектВИБ(КомпонентыОбмена, ДанныеДляЗаписиВИБ, ПравилоКонвертации.ТипДанных);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6058)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ(
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2032)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(372)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6562)}:ОбработкаОбменаДаннымиXML.ВыполнитьЗагрузкуДанных(ПараметрыЗагрузки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6089)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ПараметрыОбмена.ПолноеИмяФайлаСообщенияОбмена, ПараметрыОбмена.СообщениеОбмена);
{Обработка.ПомощникИнтерактивногоОбменаДанными.МодульМенеджера(155)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСт­року(ПараметрыОбменаДанными);
{(1)}:Обработки.ПомощникИнтерактивногоОбменаДанными.ВыполнитьЗагрузкуДанных(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(437)}:ВызватьПроцедуру(ИмяПроцедуры, ПараметрыЭкспортнойПроцедуры);
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(1907)}:Результат = ДлительныеОперации.ВыполнитьВФоне(

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Справочник не имеет владельца
по причине:
Ошибка установки значения свойства 'Владелец'
по причине:
Справочник не имеет владельца
КСообщенияОбОшибках = 26
Показать


Направление: Получение.
ПОД: Справочник_Номенклатура_Получение.
ПКО: Справочник_Номенклатура_Получение.
Объект: Справочник.Номенклатура.

Ошибка записи объекта
ТипОбъекта = Номенклатура
Объект = 2"Шарнирное соединение 2-х ход Р-Г
ОписаниеОшибки = Справочник не имеет владельца
ПозицияМодуля = {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2482)}:Объект.Записать();
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1949)}:ЗаписатьОбъектВИБ(КомпонентыОбмена, ДанныеДляЗаписиВИБ, ПравилоКонвертации.ТипДанных);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6058)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ(
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2032)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(372)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6562)}:ОбработкаОбменаДаннымиXML.ВыполнитьЗагрузкуДанных(ПараметрыЗагрузки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6089)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ПараметрыОбмена.ПолноеИмяФайлаСообщенияОбмена, ПараметрыОбмена.СообщениеОбмена);
{Обработка.ПомощникИнтерактивногоОбменаДанными.МодульМенеджера(155)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСт­року(ПараметрыОбменаДанными);
{(1)}:Обработки.ПомощникИнтерактивногоОбменаДанными.ВыполнитьЗагрузкуДанных(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(437)}:ВызватьПроцедуру(ИмяПроцедуры, ПараметрыЭкспортнойПроцедуры);
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(1907)}:Результат = ДлительныеОперации.ВыполнитьВФоне(

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Справочник не имеет владельца
по причине:
Ошибка установки значения свойства 'Владелец'
по причине:
Справочник не имеет владельца
КСообщенияОбОшибках = 26
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2500)}:ВызватьИсключение КомпонентыОбмена.СтрокаСообщенияОбОшибке;
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1949)}:ЗаписатьОбъектВИБ(КомпонентыОбмена, ДанныеДляЗаписиВИБ, ПравилоКонвертации.ТипДанных);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6058)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ(
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2032)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(372)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6562)}:ОбработкаОбменаДаннымиXML.ВыполнитьЗагрузкуДанных(ПараметрыЗагрузки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6089)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ПараметрыОбмена.ПолноеИмяФайлаСообщенияОбмена, ПараметрыОбмена.СообщениеОбмена);
{Обработка.ПомощникИнтерактивногоОбменаДанными.МодульМенеджера(155)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСт­року(ПараметрыОбменаДанными);
{(1)}:Обработки.ПомощникИнтерактивногоОбменаДанными.ВыполнитьЗагрузкуДанных(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(437)}:ВызватьПроцедуру(ИмяПроцедуры, ПараметрыЭкспортнойПроцедуры);
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(1907)}:Результат = ДлительныеОперации.ВыполнитьВФоне(
Показать
Прикрепленные файлы:
47. sapervodichka 6697 07.06.22 19:15 Сейчас в теме
(46) Ага примерно понял, тут нужен другой подход:

Вот сюда ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2482): Объект.Записать();

Нужно вставить проверку и отказ от записи объекта, который присутствует в регистре заблокированных (условие словами пишу):

Если ЗначениеЗаполнено(Объект.Ссылка) И (Объект.Ссылка присутствует в РегистрСведений.зио_ЗакрытыеОтИзмененияОбъекты) Тогда 
    //Не записывать 
Иначе 
    Объект.Записать(); 
КонецЕсли
dvissarov5; Bair107; +2 Ответить
48. Bair107 15.06.22 06:40 Сейчас в теме
(47) Спасибо, это помогло. Забросил этот вопрос на время, сейчас снова начал и вдруг получил ошибку в другой процедуре

Ошибка при загрузке данных: Событие: Получение.
Обработчик: ОтложенноеЗаполнениеОбъектов.
Объект: Номенклатура, Емкость ПП белый (e1cib/data/Справочник.Номенклатура?ref=a50dac1f6b172b8b11e8d1d5abbbe8b6).

Ошибка выполнения обработчика.
Справочник не имеет владельца
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5777)}:Объект.Записать();
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2041)}:ОтложенноеЗаполнениеОбъектов(КомпонентыОбмена);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(372)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6562)}:ОбработкаОбменаДаннымиXML.ВыполнитьЗагрузкуДанных(ПараметрыЗагрузки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6089)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ПараметрыОбмена.ПолноеИмяФайлаСообщенияОбмена, ПараметрыОбмена.СообщениеОбмена);
{Обработка.ПомощникИнтерактивногоОбменаДанными.МодульМенеджера(155)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСт­року(ПараметрыОбменаДанными);
{(1)}:Обработки.ПомощникИнтерактивногоОбменаДанными.ВыполнитьЗагрузкуДанных(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1114)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Справочник не имеет владельца
по причине:
Ошибка установки значения свойства 'Владелец'
по причине:
Справочник не имеет владельца.
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5797)}:ВызватьИсключение ТекстОшибки;
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2041)}:ОтложенноеЗаполнениеОбъектов(КомпонентыОбмена);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(372)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6562)}:ОбработкаОбменаДаннымиXML.ВыполнитьЗагрузкуДанных(ПараметрыЗагрузки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6089)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ПараметрыОбмена.ПолноеИмяФайлаСообщенияОбмена, ПараметрыОбмена.СообщениеОбмена);
{Обработка.ПомощникИнтерактивногоОбменаДанными.МодульМенеджера(155)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСт­року(ПараметрыОбменаДанными);
{(1)}:Обработки.ПомощникИнтерактивногоОбменаДанными.ВыполнитьЗагрузкуДанных(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1114)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
Показать



по аналогии зашел в ОбменДаннымиXDTOСервер.ОтложенноеЗаполнениеОбъектов и добавил проверку на заблокированный от записи объект

ПараметрыКонвертации = КомпонентыОбмена.ПараметрыКонвертации;
	ЗагруженныеОбъекты   = КомпонентыОбмена.ЗагруженныеОбъекты;
	
	Попытка
		КомпонентыОбмена.МенеджерОбмена.ПередОтложеннымЗаполнением(КомпонентыОбмена);
	Исключение
		
		ШаблонОписанияОшибки = НСтр("ru = 'Направление: %1.
		|Обработчик: %2.
		|
		|Ошибка выполнения обработчика.
		|%3.'");
		
		ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОписанияОшибки,
		КомпонентыОбмена.НаправлениеОбмена,
		"ПередОтложеннымЗаполнением",
		ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		
		ВызватьИсключение ТекстОшибки;
		
	КонецПопытки;
	
	Для Каждого СтрокаТаблицы Из ЗагруженныеОбъекты Цикл
		
		Если СтрокаТаблицы.Объект.ЭтоНовый() ИЛИ зио_Сервер.ОбъектЗакрытОтОбмена(СтрокаТаблицы.Объект.Ссылка) Тогда
			Продолжить;
		КонецЕсли;
		
		СтроковоеПредставлениеОбъекта = ПредставлениеОбъектаДляПротокола(СтрокаТаблицы.Объект.Ссылка);
		
		НачатьТранзакцию();
		Попытка
			//Если зио_Сервер.ОбъектЗакрытОтОбмена(СтрокаТаблицы.Объект.Ссылка) Тогда
			//	Продолжить;
			//иначе	
				Блокировка = Новый БлокировкаДанных;
				ЭлементБлокировки = Блокировка.Добавить(ОбщегоНазначения.ИмяТаблицыПоСсылке(СтрокаТаблицы.Объект.Ссылка));
				ЭлементБлокировки.УстановитьЗначение("Ссылка", СтрокаТаблицы.Объект.Ссылка);
				Блокировка.Заблокировать();
				
				Объект = СтрокаТаблицы.Объект.Ссылка.ПолучитьОбъект();
				
				// Перенос дополнительных свойств.
				Для Каждого Свойство Из СтрокаТаблицы.Объект.ДополнительныеСвойства Цикл
					Объект.ДополнительныеСвойства.Вставить(Свойство.Ключ, Свойство.Значение);
				КонецЦикла;
				
				СтруктураПараметров = Новый Структура;
				СтруктураПараметров.Вставить("Объект",              Объект);
				СтруктураПараметров.Вставить("КомпонентыОбмена",    КомпонентыОбмена);
				СтруктураПараметров.Вставить("ОбъектМодифицирован", Истина);
				
				КомпонентыОбмена.МенеджерОбмена.ВыполнитьПроцедуруМодуляМенеджера(СтрокаТаблицы.ИмяОбработчика, СтруктураПараметров);
				
				Если СтруктураПараметров.ОбъектМодифицирован Тогда
					ОбменДаннымиСервер.УстановитьОбменДаннымиЗагрузка(Объект, Истина, Ложь, КомпонентыОбмена.УзелКорреспондента);
					Объект.ДополнительныеСвойства.Вставить("ПропуститьЗаписьВерсииОбъекта");
					Объект.Записать();
				КонецЕсли;
				
				ЗафиксироватьТранзакцию();
			//конецЕсли;
		Исключение
			ОтменитьТранзакцию();
			
			ШаблонОписанияОшибки = НСтр("ru = 'Событие: %1.
			|Обработчик: %2.
			|Объект: %3.
			|
			|Ошибка выполнения обработчика.
			|%4.'");
			
			ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОписанияОшибки,
			КомпонентыОбмена.НаправлениеОбмена,
			"ОтложенноеЗаполнениеОбъектов",
			СтроковоеПредставлениеОбъекта,
			ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); 
			
			ВызватьИсключение ТекстОшибки;
		КонецПопытки;
		
	КонецЦикла;
Показать


не до конца понимаю, как это работает, подскажите, пожалуйста, как подправить.
49. SoftLeon 27 21.07.22 16:37 Сейчас в теме
В продолжение темы набросал на коленке обработку для занесения документов в регистр обработки по дату запрета редактирования (чтобы не заносить документы руками).
Прикрепленные файлы:
ЗанестиДокументыВЗИО.epf
sapervodichka; +1 Ответить
50. sapervodichka 6697 21.07.22 18:55 Сейчас в теме
(49) да, норм. Я расширение отдельно не использую, прикручиваю к плану обмена, где сочетаю: Блокировку за период, Блокировку по вида документов, Блокировку конкретных объектов. По видам документов выбор связываю со справочниками Идентификаторы объектов метеданных (и расширений)
Прикрепленные файлы:
51. Elfxf 15.09.22 15:38 Сейчас в теме
Добрый день! У меня стоит задача: не переписыть элементы справочника "Статьи ДДС". Выгрузка из ЕРП 2.5 в бухгалтерию 3.0. Ход только в одну сторону. Из БП не грузим
Вопросы:
1. Ставить расширение в обе базы или только в ту, которая является приемником?
2. Поставила расширение только в БП. Запрет почему-то не работает, в регистр ЗИО запись не пишется. Или в какой момент должна туда запись писаться? Замок на элементе справочника при нажатии на значек "Обмен" не отображается.
Прикрепленные файлы:
53. ya.polru 01.04.23 16:45 Сейчас в теме
Добрый день. Поставил расширение Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.132.34) , пытаюсь настроить в документе правило, при нажати кнопки установки защиты на объект выскакивает ошибка : Невосстановимая ошибка, Ошибка при выполнении запроса POST к ресурсу /e1cib/modules/call: по причине: Ошибка SDBL: В схеме базы данных нет таблицы с именем DataHistorySettingsExt.
60. sapervodichka 6697 02.04.23 13:54 Сейчас в теме
(53)
Невосстановимая ошибка, Ошибка при выполнении запроса POST к ресурсу /e1cib/modules/call: по причине: Ошибка SDBL: В схеме базы данных .

скорее всего ошибка в самой базе данных или СУБД, поищи в поисковике, на форумах ее обсуждают и поиск решения.
61. ya.polru 11.04.23 22:31 Сейчас в теме
К сожалению так и не удалось подключить ваше расширение. Возметесь за платную доработку? При выгрузке документов из УТ в БП, нужно блокировать "Основные" реквизиты справочника "Организация" от изменения обменом.
(60)
62. пользователь 11.04.23 22:33
Сообщение было скрыто модератором.
...
63. sapervodichka 6697 11.04.23 23:16 Сейчас в теме
(61) здравствуйте, я не смогу, т.к. занят на работе, код открыт и читабелен, другие программисты смогут помочь (может тут нажать [Заказать с доработкой], либо на сайте в разделе Фриланс создать задание)
64. roman010203 16.11.23 10:41 Сейчас в теме
(61)
нужно блокировать "Основные" реквизиты справочника "Организация" от изменения обменом.

Как удалось реализовать блокировку "Основных" реквизитов справочника "Организация" от изменения обменом ?
Где и каким образом храниться основные реквизиты - напрямую в коде или есть средствами визуализации ?
54. sapervodichka 6697 01.04.23 17:40 Сейчас в теме
(53) Павел, здравствуйте. Пользователя ya.polru нет в списке на сайте, среди скачавших эту доработку. Вопрос точно по моей публикации?
55. ya.polru 01.04.23 18:33 Сейчас в теме
(54) У меня на счете не было денег, за меня вчера Otello#261181 оплатил
56. sapervodichka 6697 01.04.23 20:25 Сейчас в теме
(55) У меня на этом релизе ошибки нет, картинки ниже. Пользователь с ником Otello тоже не скачивал, возможно у него другой ник тут.
Прикрепленные файлы:
57. sapervodichka 6697 01.04.23 20:25 Сейчас в теме
(55) У меня на этом релизе ошибки нет, картинки ниже. Пользователь с ником Otello тоже не скачивал, возможно у него другой ник тут.
Прикрепленные файлы:
58. ya.polru 01.04.23 21:21 Сейчас в теме
(57) МОжет вы проверите еще раз milov.av@yandex.ru Otello#261181
Прикрепленные файлы:
sapervodichka; +1 Ответить
59. sapervodichka 6697 01.04.23 22:57 Сейчас в теме
(58) Да, Алексей, скачивал, спасибо (значит про мою публикацию). Выше ответил с картинками, у меня ошибка не воспроизводится на демо базе Бух Корп 3.0.132.34
65. Irisha5556 30.12.23 15:51 Сейчас в теме
Добрый день. Скачала Вашу публикацию ,но она ни в какую не работает. Вы можете поправить?
66. sapervodichka 6697 31.12.23 15:43 Сейчас в теме
(65) Пожалуйста, подробнее опишите обмен и ошибку (подключатся в праздники я не буду) попробую дать вводную для вашего программиста
Оставьте свое сообщение