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

Публикация № 1577858 05.01.22

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

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

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

Во многих базах 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 - команда со знаниями, умениями и успешными проектами

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

Наименование Файл Версия Размер
Расширение: Защита объектов от изменения обменом (версия 04.01.2022 с отказом):

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

.cfe 21,92Kb
30
.cfe 21,92Kb 30 Скачать

Специальные предложения

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

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

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

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

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

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

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

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

Подскажите, пожалуйста, как сделать исключение для Справочника номенклатуры, чтобы там Владелец не перезаполнялся.
45. sapervodichka 6234 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 6234 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 6234 21.07.22 18:55 Сейчас в теме
(49) да, норм. Я расширение отдельно не использую, прикручиваю к плану обмена, где сочетаю: Блокировку за период, Блокировку по вида документов, Блокировку конкретных объектов. По видам документов выбор связываю со справочниками Идентификаторы объектов метеданных (и расширений)
Прикрепленные файлы:
51. Elfxf 15.09.22 15:38 Сейчас в теме
Добрый день! У меня стоит задача: не переписыть элементы справочника "Статьи ДДС". Выгрузка из ЕРП 2.5 в бухгалтерию 3.0. Ход только в одну сторону. Из БП не грузим
Вопросы:
1. Ставить расширение в обе базы или только в ту, которая является приемником?
2. Поставила расширение только в БП. Запрет почему-то не работает, в регистр ЗИО запись не пишется. Или в какой момент должна туда запись писаться? Замок на элементе справочника при нажатии на значек "Обмен" не отображается.
Прикрепленные файлы:
Оставьте свое сообщение

См. также

Архив элементов

Обработка справочников Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В архив помещаются неактуальные элементы справочников. Тем самым появляется возможность выводить в справочнике для просмотра и выбора только актуальные в данный момент данные. Работает для всех справочников.

4 стартмани

07.11.2022    5939    31    sapervodichka    61    

92

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Универсальные обработки Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    9810    68    sapervodichka    84    

111

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    9150    sapervodichka    30    

124

Добавляем новый документ в обработку Диадок

Файловый обмен (TXT, XML, DBF), FTP Адаптация типовых решений Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Абонемент ($m)

Добавляем новый документ для подписания и отправки в обработку Диадок (через подключаемый модуль). Отправлять его будем, как неформализованный (внешняя печатная форма в формате pdf).

2 стартмани

07.10.2022    6408    12    John_d    21    

56

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Гарантированное проведение документов (подключаемое расширение)

Обработка документов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Гарантированное проведение указанного в регистре сведений списка документов. Регистрируем документы к проведению с помощью произвольных отборов СКД в регистре сведений, далее запускаем фоновое проведение в нескольких потоках. Проведенные документы удаляются из регистра, по непроведенным регистрируются ошибки.

4 стартмани

11.08.2022    6012    15    sapervodichka    27    

60

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5022    sapervodichka    60    

73

Динамическая кнопка VS Комбинация клавиш

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто требуется ко всем формам или к списку форм привязать новые действия. Но как это сделать не меняя каждую форму и в идеале не меняя конфигурацию? Ниже будет описано, как запрограммировать новые действия через расширение (т.е. не меняя конфигурации) и сделать это универсально (не меняя каждую форму).

08.08.2022    5409    sapervodichka    33    

76

Параметризация печатных форм под контрагентов (подключаемое расширение)

Печатные формы Адаптация типовых решений Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь https://infostart.ru/1c/articles/1510459/

10 стартмани

05.08.2022    6939    9    sapervodichka    4    

51

Просмотр объектов очереди сообщений в 1С:Документооборот

Адаптация типовых решений Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В базах с бесшовной интеграцией с 1С:Документооборот есть Регистр сведений "Очередь сообщений в 1С:Документооборот". Для пользователя он мало информативен. Расширение позволяет просматривать сообщение в человеческом виде. И понимать проблему до объекта.

2 стартмани

02.08.2022    7112    18    sapervodichka    4    

45

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Конвертация данных 2 и JSON

Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Описание минимально необходимых изменений, которые нужно внести в обработку "УниверсальныйОбменДаннымиXML" для того, чтобы реализовать конвертацию объектов конфигурации в произвольный формат JSON.

1 стартмани

01.07.2022    6865    18    zhichkin    19    

67

Кратность в Юанях (CNY) 10 и 1

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обратите внимание на обмены данными с Юанями. Кратность там меняется между 10 и 1, в зависимости от значения курса > 10 или < 10. Т.е. НЕ ВСЕГДА равна 1. А многие разработчики (в том числе и я) грешат, ставя Кратность = 1 по умолчанию в обменах и выгрузках. P.S. Идём на Восток, становимся хитрее.

10.06.2022    8508    sapervodichka    13    

37

Поддержка пользователей [Alt+S] (подключаемое расширение)

Анализ и проектирование ИТ-систем ServiceDesk, HelpDesk Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение, подключаемое к базе 1С для решения задач поддержки пользователей. Позволяет быстро (по кнопке или комбинации клавиш Alt+S), не выходя из программы 1С из любой формы, создать обращение к консультантам и программистам со скринами, файлами, в привязке к проблемному объекту (документу, справочнику, отчету, обработке и т.п.). Вести переписку по обращениям, отслеживать их выполнение с трудозатратами и уведомлять участников через механизмы: Telegram, Обсуждения 1С и Электронную почту. Код открыт и расширение может развиваться и быть доработано под индивидуальные потребности.

9 стартмани

25.03.2022    11031    100    sapervodichka    20    

138

Интерактивная справка [Alt+I] (подключаемое расширение)

Анализ и проектирование ИТ-систем Управление знаниями (Knowledge Base) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Дополнительная справка, подключаемая к базе 1С. Содержит дерево разделов и статьи. Позволяет создавать статьи с картинками, прикреплять к ним файлы и видео, а также связывать статьи с объектами 1С (документам, справочникам, отчетам). Вызывается на динамически создаваемую кнопку панели либо быстрой комбинацией клавиш Alt+I.

9 стартмани

10.03.2022    9970    92    sapervodichka    44    

103

Ошибка загрузки большого архива 1Cv8.dt в PostgresSQL на платформе 1С 8.3.19

Администрирование СУБД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

1С для платформы 8.3.19 ускорили загрузку dt-файлов за счет разбивки на несколько фоновых заданий. В итоге словили ошибку блокировки при загрузке в СУБД PostgresSQL большого 1cv8.dt-файла размером 25 Gb "ERROR: canceling statement due to lock timeout". Напишу, как в итоге загрузили этот dt-файл.

30.01.2022    9749    sapervodichka    56    

131

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Привилегированные отчеты

Роли и права HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение позволяет настроить для пользователей выполнение отчетов в привилегированном режиме. 1) Убирает тормоза формирования отчета, возникающие при наложении прав пользователя на запросы отчета; 2) Позволяет обойти ошибки формирования отчета из-за отсутствия прав на часть объектов у пользователя.

4 стартмани

24.01.2022    9769    25    sapervodichka    36    

101

Пульт управления телевизором LG Smart TV

Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Абонемент ($m)

Пульт LG телевизором smart TV (2014 года). Цель - управлять телевизором из 1С. Может быть полезна тем, кто потерял и не может найти пульт ДУ, кто смотрит телевизор и сидит за ноутбуком одновременно, для изучения обмена xml с внешними устройствами, в данном случае телевизором.

1 стартмани

11.01.2022    10096    6    confer2003@mail.ru    52    

66

Формирование фида XML для СберМегаМаркет и СДЭК

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

Разработка, которая в автоматическом режиме выгружает фид для СберМегаМаркет в формате XML на FTP. Далее путь к файлу указывается в настройках магазина в партнерском кабинете СберМегаМаркет. Также этот фид работает и с маркетплейс СДЕК маркет (условие, что код категорий только цифры).

1 стартмани

14.10.2021    12452    0    BARDER    18    

16

Создание стартовой базы

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.

1 стартмани

11.10.2021    13419    23    sapervodichka    48    

110

Доп. панель Alt+Z

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.

1 стартмани

24.06.2021    17106    162    sapervodichka    72    

164

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Декларации по формам 7 и 8 алкогольной продукции, перенос данных из Декларант-Алко, импорт данных из файлов XML форм 11,12,7,8

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

Конфигурация на управляемых формах, платформа 1С 8.3.10.2667 и выше, с помощью которой можно сформировать Декларации по формам 7 и 8 алкогольной продукции, выполнить перенос данных из ПО Декларант-Алко версии 4.31.05 и выше, импорт и загрузку из файлов XML форм 11,12,7,8. Есть возможность автоматического подписания и шифрации файла выгрузки.

1 стартмани

15.04.2021    16320    56    independ    41    

33