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

29.01.24

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Расширение: Защита объектов от изменения обменом (версия 04.01.2022 с отказом):
.cfe 21,81Kb
39
39 Скачать (5 SM) Купить за 3 050 руб.
Расширение: Защита объектов от изменения обменом (версия 04.01.2022 без отказа с восстановлением от Malfarion):
.cfe 21,92Kb
36
36 Скачать (5 SM) Купить за 3 050 руб.

Во многих базах 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! 20%

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141443    798    297    

419

SALE! 10%

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

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

35000 31500 руб.

15.12.2021    23969    169    51    

127

SALE! 10%

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

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

35000 31500 руб.

23.07.2020    51154    228    69    

184

SALE! 10%

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

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

53111 47800 руб.

03.12.2020    36557    94    66    

89

SALE! 10%

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171136    303    257    

378

SALE! 15%

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186844    589    509    

526

SALE! 10%

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

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    194938    150    243    

280

SALE! 10%

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

Перенос данных из ERP в УПП 1.3 | из КА 2 в КА 1.1 | из КА 2 в УПП 1.3 | из КА 2 в УТ 10.3 | из ERP в КА 1.1 | из ERP в УТ 10.3 | из УТ 11 в УТ 10.3 | из УТ 11 в УПП 1.3 | из УТ 11 в КА 1.1 | Можно переносить только новые объекты, найденные в приемнике перезаписываться не будут | Есть фильтр по организации при выгрузке данных | Оперативно обновляем на новые релизы 1С

53111 47800 руб.

28.11.2015    83231    32    125    

64
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexey_kurdyukov 165 05.01.22 10:53 Сейчас в теме
Кажется, больше нужен запрет обмена на стороне УПП
2. sapervodichka 6912 05.01.22 11:13 Сейчас в теме
(1) ну в данном случае с УПП переходили на ЕРП. УПП был источником данных, с которого переносили в ЕРП данные каждый день в течение 3-х месяцев, поэтому запрет для объектов требовался именно в ЕРП для пользователей выверяющих и дозаполняющих там данные. В УПП использовали просто стандартные даты запрета изменения данных закрывающие период от редактирования.
3. infosoft-v 927 05.01.22 11:28 Сейчас в теме
Частично эту задачу решает настройка Дата запрета загрузки
Прикрепленные файлы:
AndrewVVS; e.kogan; sbcode; sapervodichka; +4 Ответить
4. sapervodichka 6912 05.01.22 11:39 Сейчас в теме
(3) Да, есть такая штука, она такая более общая, там мин граница до раздела, до ссылки не спуститься. Тоже нужно о ней знать при синхронизациях. Спасибо за коммент.
6. fatman78 20 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 6912 05.01.22 16:34 Сейчас в теме
(5) проверка документа и защита от обмена, это механизмы с разной задачей. При защите от обмена исходили из универсальности подхода и цели защитить от изменения обменами и загрузками, при этом оставив пользователям возможность работы с объектами в том числе изменения. Основные цели были 1) Блокировать не только документы но и справочники и ПВХ; 2) Быстро подключать к любому объекту; - ну и еще раз напишу, что Проверка документов немного другой смысл несет, она не дает после установки людям работать с документом, а задача защитить от перезаписи обменом и загрузками, не запрещая работать с объектом в базе.
7. fatman78 20 05.01.22 13:45 Сейчас в теме
(4) Вы в какой-то одной общей процедуре обмена "перед записью" перехватываете управление, когда уже известно найден объект в приемнике или нет и можно проверить на признак установки блокировки, или для каждого вида надо отдельно в нескольких процедурах отлавливать событие?

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

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

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

А это не будет садить производительность? Там ведь кроме ЗаполнитьЗначенияСвойств(ЭтотОбъект,Ссылка) еще надо по всем табличным частям объекта пробежаться и загрузить их из базы данных. Да и сам метод ЗаполнитьЗначенияСвойств не особо производительный https://its.1c.ru/db/metod8dev/content/2322/hdoc
e.kogan; hdkw; +2 Ответить
18. fatman78 20 05.01.22 22:10 Сейчас в теме
(11) А нельзя реализовать этот функционал через перехватит процедуры ОбменДаннымиXDTOСервер.ПередЗаписьюПолученныхДанных? , В этот момент объект штатными средствами уже найден "ДанныеИБ". Ведь если вместо вызова вложенных обработчиков "ПередЗаписьюПолученныхДанных" через
попытка МенеджерОбмена.ВыполнитьПроцедуруМодуляМенеджера(ИмяОбработчика, СтруктураПараметров);
обнулить переменную "ПолученныеДанные" то запись изменений в базу не производится. Бонусом останется возможность программно использовать конструкцию "ОбменДанными.Загрузка = Истина" для решения других задач.
e.kogan; sapervodichka; +2 Ответить
20. sapervodichka 6912 06.01.22 15:38 Сейчас в теме
(18) да, по сути можно в любом месте перехватить и вставить вызов функции проверки закрытия объекта зио_Сервер.ОбъектЗакрытОтОбмена(СсылкаНаОбъект). Код в расширении открыт и как шаблон можно использовать функционал вывода кнопок, хранения ссылок закрытых, ну а проверку вставлять в любое место.
22. fatman78 20 07.01.22 14:00 Сейчас в теме
(20) Подскажите пож-та, какой тип для измерения "объект" регистра сведений используется? Или как обошли запрет на использование в расширении заимствованных определяемых типов или ЛюбаяСсылка (я про ошибку Использование наборов типов и определяемых типов в расширении недопустимо) Или "объект" это просто отрисовка на форме по связке "Тип объекта" и UID (либо просто навигационная ссылка). Ссылочная целостность поддерживается?
23. sapervodichka 6912 07.01.22 15:02 Сейчас в теме
(22)
"Тип объекта" и UID
- да вот это
fatman78; +1 Ответить
19. Leon75 05.01.22 22:21 Сейчас в теме
Источник.ОбменДанными.Загрузка=Истина может вызываться в обработке редакторе объекта
и много где еще.
Я думаю нужно еще проверять пользователя или его роль или доп.настройку, так как на автообмены для фонового обычно выделяют определенный аккаунт.
sapervodichka; +1 Ответить
21. sapervodichka 6912 06.01.22 15:56 Сейчас в теме
(19) да, можно добавить проверку на роль или имя пользователя, код открыт, расширение как шаблон.
24. winapi 61 10.01.22 09:22 Сейчас в теме
Очень странное описание проблемы, решение похоже на костыль. Вы устраняете не причину, а следствие. А что происходит с объектом в базе источника? Он удаляется из плана обмена? Если удаляется, а в этой базе остается другая версия, то значит будет расхождение в данных. Очень похоже на какой-то кривой бизнес-процесс... Вы написали про дату запрета редактирования, которая не влияет на обмен, так это всё правильно - её нужно устанавливать в базе источнике, тогда и приходить ничего не будет. Также проблему можно решать, закрывая изменение самих объектов в базе источнике (по конечному статусу, по правам и т.п.). В вашем случае чем дальше, тем больше будут расходиться данные и что либо сверить будет проблематично.
25. sapervodichka 6912 10.01.22 10:51 Сейчас в теме
(24) как-то много вопросов, подумаю сделать митап на эту тему ))) вот здесь можно ознакомиться с ситуацией частичной загрузки объектов в период перехода с УПП на ERP
https://infostart.ru/1c/articles/1540097/
26. sapervodichka 6912 10.01.22 12:16 Сейчас в теме
(24)
Вы написали про дату запрета редактирования, которая не влияет на обмен, так это всё правильно - её нужно устанавливать в базе источнике, тогда и приходить ничего не будет
- Объект будет отправляться из Источника и приходить в Приемник ))) если объект по ссылке тянется или зарегистрирован к обмену, независимо от того, чтобы там в источнике датами и правами не закрывалось.
(24)
В вашем случае чем дальше, тем больше будут расходиться данные и что либо сверить будет проблематично.
- в моем случае все будет нормально, т.к. по условию задачи объекты приходят частично заполненными, далее выверяются и дозаполняются пользователями, а вот в вашем случае в случае регулярных обменов, где пользователям не нужно править объекты - эту обработку использовать не нужно, она НЕ подходит под условия вашей задачи обмена.
27. SanchoD 316 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 316 11.01.22 09:55 Сейчас в теме
(27) Даже не так. При повторном открытии документа вообще нет пиктограммы:
Прикрепленные файлы:
29. sapervodichka 6912 11.01.22 11:01 Сейчас в теме
(28) пришлите в текстовом файле код модуля формы документа посмотреть
31. sapervodichka 6912 11.01.22 12:17 Сейчас в теме
(30) хм, странно, и ВерсионированиеОбъектов.ПриСозданииНаСервере и УправлениеСвойствами.ПриСозданииНаСервере вызываются без ограничений. Тогда нужна база "Аптеки", по коду не понятно.
32. sapervodichka 6912 11.01.22 12:42 Сейчас в теме
(31) думаю можно просто конфигурацию или демку Управления аптечной сетью (прислать ссылку на скачивание мне в личку)
33. SanchoD 316 11.01.22 14:22 Сейчас в теме
(31) Базу вряд ли клиент разрешит передать. Если только конфигу.
34. SanchoD 316 12.01.22 17:25 Сейчас в теме
Проблему нашел и исправил.
Вот в этом все дело:
Прикрепленные файлы:
sapervodichka; +1 Ответить
35. sapervodichka 6912 12.01.22 19:26 Сейчас в теме
(34) нет этой картинки в УАС, получается. Спасибо, что написал, наверняка найдутся люди кому это пригодится.
38. maksa2005 550 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 6912 08.02.22 10:58 Сейчас в теме
(38) Нужно поменять в расширении и указать, чтобы при обмене такие ошибки пропускались и загрузка продолжалась.
Можно перехватить и сюда Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10195) вставить контроли, вместо подписок из расширения, а подписки убрать.
40. maksa2005 550 08.02.22 11:53 Сейчас в теме
(39)Это не решение проблемы.
41. sapervodichka 6912 08.02.22 11:55 Сейчас в теме
(40) не надо тут диктовать свои условия. Эта публикация шаблон стоимостью в 2 бутылки пива (а не платное поддерживаемое решение), если у тебя нет навыков подстроить под себя, то попроси специалиста.
42. maksa2005 550 08.02.22 11:57 Сейчас в теме
(41)Ни кто и не диктует? Вы видели хоть слово чтобы Я вам что-то диктовал? не помню чтобы на ты переходили...
Ставить закладки на каждое условие - это специалист. хахахахаха
43. sapervodichka 6912 08.02.22 11:59 Сейчас в теме
(42) условия в расширении описаны на объект (для примера в подписках + там еще описание про отказ указано, что надо делать чтобы пропускать такие ситуации), Сейчас мной тебе предлагается бесплатный совет вставить условия в обработку конвертации, перехватив в расширении метод записи, делается это 15 минут. (только не надо тут концерты устраивать)
44. Bair107 07.06.22 11:52 Сейчас в теме
Скачал версию с восстановлением, думал сейчас пропишу для справочника Номенклатуры
ЗаполнитьЗначенияСвойств(Источник, Источник.Ссылка);

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

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

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

Подскажите, пожалуйста, как сделать исключение для Справочника номенклатуры, чтобы там Владелец не перезаполнялся.
45. sapervodichka 6912 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 6912 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 28 21.07.22 16:37 Сейчас в теме
В продолжение темы набросал на коленке обработку для занесения документов в регистр обработки по дату запрета редактирования (чтобы не заносить документы руками).
Прикрепленные файлы:
ЗанестиДокументыВЗИО.epf
AndrewVVS; sapervodichka; +2 Ответить
50. sapervodichka 6912 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 6912 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 6912 11.04.23 23:16 Сейчас в теме
(61) здравствуйте, я не смогу, т.к. занят на работе, код открыт и читабелен, другие программисты смогут помочь (может тут нажать [Заказать с доработкой], либо на сайте в разделе Фриланс создать задание)
64. roman010203 16.11.23 10:41 Сейчас в теме
(61)
нужно блокировать "Основные" реквизиты справочника "Организация" от изменения обменом.

Как удалось реализовать блокировку "Основных" реквизитов справочника "Организация" от изменения обменом ?
Где и каким образом храниться основные реквизиты - напрямую в коде или есть средствами визуализации ?
54. sapervodichka 6912 01.04.23 17:40 Сейчас в теме
(53) Павел, здравствуйте. Пользователя ya.polru нет в списке на сайте, среди скачавших эту доработку. Вопрос точно по моей публикации?
55. ya.polru 01.04.23 18:33 Сейчас в теме
(54) У меня на счете не было денег, за меня вчера Otello#261181 оплатил
56. sapervodichka 6912 01.04.23 20:25 Сейчас в теме
(55) У меня на этом релизе ошибки нет, картинки ниже. Пользователь с ником Otello тоже не скачивал, возможно у него другой ник тут.
Прикрепленные файлы:
57. sapervodichka 6912 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 6912 01.04.23 22:57 Сейчас в теме
(58) Да, Алексей, скачивал, спасибо (значит про мою публикацию). Выше ответил с картинками, у меня ошибка не воспроизводится на демо базе Бух Корп 3.0.132.34
65. Irisha5556 30.12.23 15:51 Сейчас в теме
Добрый день. Скачала Вашу публикацию ,но она ни в какую не работает. Вы можете поправить?
66. sapervodichka 6912 31.12.23 15:43 Сейчас в теме
(65) Пожалуйста, подробнее опишите обмен и ошибку (подключатся в праздники я не буду) попробую дать вводную для вашего программиста
67. troshin71 06.06.24 21:19 Сейчас в теме
Здравствуйте, это работает только на загрузку? или можно его заблокировать для выгрузки?
68. AndrewVVS 09.08.24 11:21 Сейчас в теме
(Критичная) : Список параметров метода "зио_НачатьВыполнениеКоманды" не соответствует методу "НачатьВыполнениеКоманды". Пробовал на 2-х разных базах Бухгалтерии 3.0.149.28 Платформа 8.3.22.2239
69. AndrewVVS 09.08.24 12:16 Сейчас в теме
(68) добавил в расширении Знач - ошибка ушла; Общие модули ПодключаемыеКомандыКлиент Процедура зио_НачатьВыполнениеКоманды(Форма, Команда, Знач Источник)
Оставьте свое сообщение