Работает с современными конфигурациями 1С: с запретом на использование модальности и синхронных вызовов (тонкий, толстый, web клиент). Не зависит от конкретной конфигурации, никаких БСП.
Для конфигураций, использующих БСП, есть возможность подключения обработки к справочнику "ДополнительныеОтчетыИОбработки".
Данная обработка реализована достаточно давно и интегрирована в такие продукты, как "Консоль запросов для управляемых форм 8.3" и "Навигатор по конфигурации базы 1С". Как самому обновить "Редактор объектов" в этих обработках написано здесь.
Назначение:
- редактирование всех реквизитов объекта (в том числе стандартных и общих)
- редактирование табличных частей объекта (в том числе специальных, на пример "виды субконто" для счета)
- редактирование движений документов
В связке с обработкой Редактор независимых регистров сведений 8.3 предоставляет практически полный доступ к данным информационной базы.
Основной сценарий работы
1. Выбираем объект, с которым собираемся работать (сначала выбирается тип, а затем из стандартной формы выбора сам объект). Выбор типа объекта, в отличии от мнгоих представленных здесь обработок организован более интеллектуально - типы объектов не сваливаются в одну кучу, а разбиты по категориям (справочник, документ и т.д.)
Есть возможность выбора объекта для редактирования по навигационной ссылке (URL) - более удобно или по уникальному идентификатору (UUID).
Есть возможность выбрать битую ссылку (ссылку на удаленный объект), на пример: <Объект не найден> (769:b1390050568b35ac11e6e46fdd2c3861)
2. После выбора объекта нам доступны для редактирования как реквизиты объекта, так и его табличные части. Табличные части объекта отображаются на отдельных закладках. При записи объекта сохраняются как реквизиты, так и табличные части.
3. Для объектов типа "Документ" становится доступна специальная закладка "Движения". На этой закладке можно выбрать (из предлагаемого списка) конкретный регистр, по которому документ может совершать движения, прочитать их, отредактировать и записать. Для работы с движениями документа реализованы отдельные команды: "Обновить", "Переключить активность" и "Записать".
4. На закладке "Движения" расположена команда "Открыть редактор движений", по которой открывается отдельная форма для одновременной работы со всеми движениями документа.
"Редактор движений" позволяет прочитать и записать как все движения документа, так и отдельные наборы записей. Флажок "Быстрый вызов сервера" влияет на скорость обновления отдельного набора записей при брльшом количестве записей во всех движениях документа. Стоит ли его использовать решайте сами, экспериментальным путем. Команда "Записать..." на панели списка движений документа, записывает те движения, у которых выставлен флажок "Записать".
Команда "Очистить движения..." очищает движения тех регистров, которые выделены в списке регистров. Команда "Загрузить движения..." позволяет выбрать документ и загрузить его движения в соответствующие регистры, открытые в редакторе движений (чтобы руками не набирать). При загрузке движений наборы записей не очищаются, к ним добавляются новые записи. Если Вы хотите очистить старые движения, то воспользуйтесь командой "Очистить движения...".
5. На закладке "Ссылки на объект" можно посмотреть зависимые объекты конфигурации с возможностью перехода к их редактированию
Важные особенности:
- Интерфейс большинства моих обработок достаточно нагружен, поэтому в формах установлен вариант масштаба "Компактный". Если кому то это не нравится и хочестся использовать платформенную кнопку "Изменить масштаб", то надо в конфигураторе для всех форм обработок установить вариант масштаба "Авто".
- Может работать с объектами, добавленными в расширениях конфигурации
- Реализована команда "Записать как новый" - не перезаписывает объект, который редактируется, а создает новый с реквизитами, которые Вы отредактировали (движения естественно не переносятся в новый объект).
- Реализована команда "Записать как новый с заданным UUID"
- Есть возможность перед записью объекта или проведением документа установить различные значения в его ДополнительныеСвойства и выполнить произвольный алгоритм на языке 1С, см. закладку "Действия "ПередЗаписью""
- На закладке "Движения" есть команда "Показать движения документа", которая отображает все регистры, по которым есть движения текущего документа
- Реализована команда "Открыть объект" - если текушее поле (реквизит объекта, реквизит табличной части или поле записи регистра на закладке "Движения") содержит ссылку на объект, то по этой команде в новом окне откроется редактор этого объекта (откроется эта обработка с соответствующим значением "Объект ИБ")
- Если выставить флажок "Запись в в режиме загрузки", то запись объекта и запись набора записей на закладке "Движения" будут производится в в режиме "ОбменДанными.Загрузка = истина", в этом случае все проверки обычно отключены
- Реализована возможность поиска объекта в базе по UUID (уникальный идентификатор) и URL (навигационная ссылка 1С)
- Реализован функционал, позволяющий для выделенных строк заполнять значение текущей колонки таблиц Движений и Табличных частей заданными значениеми. Если установлен флажок "Обрабатывать только выделенные строки", то заполняются значения для выделенных строк, в противном случае - для всех строк таблицы
- Реализована возможность сохранения/восстановления параметров - можно сразу открыть объект для редактирования, сохраненный в предыдущей сессии
- Реализован функционал для выгрузки и загрузки данных через XML (можно перенести данные в другую базу или восстановить данные после неудачного редактирования). Для обмена данными можно использовать файлы или строку, передаваемую через буфер обмена.
Команда "Открыть объект"
У меня сложилось впечатление, что на команду "Открыть объект" не обращают внимание (для меня она очень полезна). На представленном ниже рисунке показано, что если встать на любое поле формы, в котором содержится ссылочный объект и нажать на кнопку (или контекстное меню) "Открыть объект", то откроется новый экземпляр СДРОбъектУпр для редактирования этого объекта. Из него можно перейти к следующему и т.д.
Действия, выполняемые при записи объекта:
- получаем объект ( пОбъект = Ссылка.ПолучитьОбъект(); )
- заполняем реквизиты и табличные части объекта данными из формы обработки
- если указано, то заполняем дополнительные свойства объекта, см. закладку Действия "ПередЗаписью" ( пОбъект.ДополнительныеСвойства.Вставить(...); )
- если указано, то выполняем алгоритм на языке 1С, см. закладку Действия "ПередЗаписью"
- если указано, то отключаем проверки ( пОбъект.ОбменДанными.Загрузка = истина; )
- записываем объект ( пОбъект.Записать(); )
Действия, выполняемые при проведении документа:
- получаем объект ( пОбъект = Ссылка.ПолучитьОбъект(); )
- если указано, то заполняем дополнительные свойства объекта, см. закладку Действия "ПередЗаписью" ( пОбъект.ДополнительныеСвойства.Вставить(...); )
- если указано, то выполняем алгоритм на языке 1С, см. закладку Действия "ПередЗаписью"
- проводим документ ( пОбъект.Записать(РежимЗаписиДокумента.Проведение); )
Дополнительные движения документов (для современных типовых конфигураций)
Дополнительными движениями документа А будем называть движения, которые сделал другой документ Б, но с точки зрения логики конфигурации они относятся к документу А. Поясню на примере конфигурации ERP 2.4.
Если сформировать типовой отчет по движениям для документа РеализацияТоваровУслуг, то в отчете могут присутствовать движения по регистрам накопления РасчетыСКлиентамиПланОплат, РасчетыСКлиентамиПоСрокам, РасчетыСКлиентамиПланОтгрузок. Но для этих регистров документ РеализацияТоваровУслуг не является регистратором и эти движения сделал совсем другой документ, а именно - Документ.РегистраторРасчетов. Типовой отчет показывает эти движения для документа РеализацияТоваровУслуг на основании значения реквизита "ДокументРегистратор" в записях регистров.
Для конфигураций, где используется такой механизм, для документов, у которых могут быть дополнительные движения на закладке "Движения" кроме команды "Редактор движений" появляется команда "Редактор движений (доп)", которая открывает форму редактора дополнительных движений.
Для пользователей обработок "Консоль запросов для управляемых форм 8.3" и "Навигатор по конфигурации базы 1С"
Редактор объектов встроен в эти обработки. Если у вас есть более новая версия редактора, то вы можете самостоятельно встроить ее. Для этого необходимо открыть обработки в конфигураторе и заменить формы "ФормаОбъекта", "ФормаВыбораОбъекта", "ФормаРедакторДвижений", "ФормаСпискаОбъектов" и т.д. этих обработок на соответствующие формы из обработки СДРОбъектУпр, используя Copy-Paste. Операция займет меньше минуты.
Кому это нужно
- программистам - для отладки и исследования механизмов конфигурации
- грамотным пользователям - для обхода ошибок и недоработок в используемых конфигурациях 1С, для обработки особых случаев, которые невозможно реализовать типовыми механизмами конфигурации
Тестирование
- Платформа (8.3.10.2580, 8.3.13.1513, 8.3.16.1148) , на платформах ниже 8.3.10 работать не будет
- 1С:ERP Управление предприятием 2 (2.4.10.56)
- Управление холдингом, редакция 3.0 (3.0.3.17)
- добавлена возможность открывать в редакторе объекта пустые ссылки на объекты базы данных (иногда удобно)
- показывает дату создания объекта в базе (информация берется из UUID)
- небольшие интерфейсные изменения
- ВАЖНО: минимальная версия платформы - 8.3.10
ВАЖНО
Помните, что запись объектов, а тем более движений, из этой обработки обычно происходит минуя различные проверки конфигурации (проверки, реализованные в стандартной форме объекта не работают). Поэтому нужно четко представлять что и зачем Вы это делаете. В умелых руках это очень полезный инструмент.
Проверено на следующих конфигурациях и релизах:
- 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.9.2