новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Яндекс-директ

Одиночная/групповая регистрация объектов/реквизитов объектов для обмена через планы обмена c отборами для ЛЮБЫХ баз 1С на 8.3

  • Добавить свою разработку
 
Топчий Дмитрий Ю. (авторские решения для 1С)
Связаться с автором
13.12.2023 11:57:57
0
Данная обработка предназначена для принудительной регистрации выбранных данных для обмена с другими базами через планы обмена, которые определены в конфигурациях. Позволяет зарегистрировать не только сам документ, справочник и т.д., но и его реквизиты, что позволяет восстановить битые ссылки ("Объект не найден") в реквизитах объектов, которые участвуют в обмене. Полезна для произвольной регистрации данных при обмене через универсальный формат в типовых конфигурациях вида УТ 11.2, БП 3.0, УТ 10.3, БП 2.0 и прочих. Нет нужды править правила конвертации/регистрации или их использовать через обработку "Универсальный обмен данными в XML". Настраиваем обмен штатными способами, а потом данной обработкой регистрируем нужные данные и выполняем обмен штатным способом. (Обновление от 12.07.2023, версия 1.2)
Скриншоты
Описание

Для каких случаев создана данная обработка?

  1. Если у Вас есть несколько баз (УТ, БП, ЗУП и т.д.), между которыми идет обмен данными, и вам нужно периодически регистрировать, не пришедшие данные, для выгрузки. Особенно будет полезна, когда нужно зарегистрировать большое количество документов по организации за определенный период на несколько узлов. Типовая обработка затормозит данный процесс конкретно. Моя же - сделает это парой команд.
  2. Полезна для произвольной регистрации данных при обмене через универсальный формат в типовых конфигурациях вида УТ 11.2, БП 3.0 и прочих новых. Нет нужды править правила конвертации/регистрации или их использовать через обработку "Универсальный обмен данными в XML". Настраиваем обмен штатными способами, а потом данной обработкой регистрируем нужные данные и выполняем обмен штатным способом.
  3. Если у вас пришли документы/справочники/записи регистров при обмене из другой базы, а в реквизитах - , но в базе-источнике все нормально. Следовательно, просто данные не зарегистрировались для обмена. Для этого в моей обработке предусмотрены уровни регистрации. Выбираем нужные документы/справочники и устанавливаем уровень ссылочности 2 или 3.
  4. Если у Вас распределенная база данных и много узлов обмена, и вам нужно видеть информацию по всем узлам сразу, а не по отдельности. И регистрировать данные вам нужно не на один узел, а на группу узлов. Данная обработка сделает это.

Ниже приведен краткий список основных достоинств и отличий от типовой обработки:

  • Просмотр количества зарегистрированных данных, номеров сообщений сразу по нескольким узлам выбранного плана обмена (нет такой возможности в типовой);
  • Возможность выбора одного/нескольких узлов плана обмена для регистрации/отмены регистрации одних и тех же данных.  Данные будут зарегистрированы для узлов, которые отмечены в соответствующей таблице (нет регистрации для выбранных узлов в типовой);
  • Возможность наложения произвольных отборов для каждого вида объектов в дереве объектов, для фильтрации данных которые будут зарегистрированы, либо для удаления регистрации. А так же возможность зарегистрировать/отменить регистрацию для объектов, у которых Авторегистрациия=Разрешить или Авторегистрация=Запретить;(реализовано непрактично и неудобно в типовой)
  • Возможность установки общих отборов для выбранных видов объектов в дереве. Это полезно когда отбор однотипный, и его нужно установить на множество объектов. Например, когда нужно зарегистрировать документы по одной организации (нет такой возможности в типовой);
  • Возможность регистрации/отмены регистрации не только выбранных ссылок на объект, но и реквизитов данного объекта, и реквизитов, объектов, которые получены из реквизитов объекта-источника.  Аналогично, это применимо к записям регистров. Всего в обработке 3 уровня вложенной регистрации/отмены регистрации данных (нет такой возможности в типовой);
  • Имеется механизм регистрации связанных объектов для выбранного вида объекта. Система построена на критерии отбора "Связанные документы" и позволяет по ссылкам зарегистрировать объекты, которые связаны с текущими. Например, у вас есть документ ПКО и вы хотите зарегистрировать на выгрузку связанные с ним документы. Система найдет ссылки на все выбранные с учетом отборов документа ПКО и каждую ссылку проанализирует на предмет наличия подчиненного объекта. Все полученные ссылки будут представлены как список в отборе для каждого связанного вида объекта. Чтоб сделать регистрацию связанных объектов, достаточно стать на вид объектов в дереве, установить отбор и вызвать команду из контекстного меню или из главного "Найти связанные объекты" и затем выбрать "Регистрация выбранных объектов с учетом отборов". Аналогично, можно снять регистрацию со связанных объектов.
  • Если нет необходимости в отборах, и нужно зарегистрировать/отменить регистрацию всех данных определенных объектов, то данная функция реализована в данной обработке. Скорость  обработки данных выше, чем с использованием отборов.  При этом существует возможность отменить регистрацию/зарегистрировать данные для выбранного узла или списка выбранных узлов (только для выбранного узла в типовой);
  • Есть возможность зарегистрировать все данные базы, которые входят в выбранный план обмена. При этом существует возможность отменить регистрацию/зарегистрировать данные для выбранного узла или списка выбранных узлов (только для выбранного узла в типовой);
  • Есть возможность зарегистрировать определенное количество данных для каждого выбранного вида объекта из дерева плана обмена (нет такой возможности в типовой) ;
  • Имеется возможность регистрации данных по срезам (первых, последних) для периодических регистров сведений (нет такой возможности в типовой);
  • Имеется возможность просмотра данных, которые будут зарегистрированы/сняты с регистрации (с учетом установленных отборов!), а так же данных, которые уже зарегистрированы для обмена. Данные отображаются с помощью динамических список, что дает выигрыш в скорости получения и отображения данных. Ссылочные данные можно открыть (только просмотр зарегистрированных в типовой).
  • Так же имеется возможность сохранить/загрузить все настройки (общие и персональные отборы так же) в файл/из файла (нет такой возможности в типовой); 

Теперь рассмотрим более подробно, как работать с данной обработкой (есть в справке обработки)

1. Сперва на странице «Список узлов» выбираем нужный нам план обмена. Если план обмена единственный в конфигурации, система сама его подставит при открытии обработки. После выбора, ниже в таблице, будут отображены узлы, которые принадлежат выбранному плану обмена.

2. В таблице узлов отображается такая информация для каждого узла, как общее количество зарегистрированных данных, номера сообщений обмена. Через контекстное меню данной таблицы, можно вызвать форму для изменения номеров сообщений для выбранного узла обмена. Будьте осторожны! Осмотрительно меняйте номера сообщений т.к. обмен может перестать работать.

3. Теперь, если мы хотим посмотреть какие данные зарегистрированы для определенных узлов, нужно выбрать двойным нажатием нужный узел. При этом нужный узел отобразиться на второй закладке «Состав плана обмена» и система сама перебросит на данную закладку. На закладке «Состав плана обмена»  отображается дерево объектов конфигурации, которые включены в состав выбранного плана обмена. Напротив каждого объекта отображается число данных зарегистрированных для выбранного узла. Атак же данные авторегистрации и отборы, которые могут быть наложены на каждый объект отдельно.

4. Справа расположены закладки настроек и отборов. На закладке «Основное» расположены общие настройки, применимые ко множеству объектов.

5. «Уровни регистрации» - служит для управлением уровнями вложенности регистрации ссылок. Это нужно, когда вы регистрируете, например, документы и чтоб при обмене не получился в реквизитах документа.

"1" - будет зарегистрирована для обмена только ссылка на объект

"2" - будет зарегистрирована ссылка на объект и ссылки, которые в реквизитах/реквизитах табличных частей данного объекта.

"3" - будут зарегистрированы почти все связанные ссылки в реквизитах для поддержания целостности данных (время регистрации  возрастет)

6. «Зарегистрировать первые ссылки/наборы записей» служит для определения количества регистрируемых данных. Полезно использовать для тестирования обмена или правил конвертаций.

7. «Режим отбора данных регистров сведений периодических» служит для определения как будут отбираться данные для регистрации/отмены регистрации в регистрах сведений – за период или будут срезы данных на дату начала/окончания.

8. «Регистрировать для обмена движения документов» служит для указания, что нужно при регистрации документов, регистрировать еще и их движения. Если флаг установлен, то система для каждого вида документов предложит выбрать из списка регистры, которые участвуют в движениях, для выборочной регистрации.

9. На закладке «Отборы» отображаются как и общие так и персональные для каждого вида документов отборы. Даты применимы для всех объектов данных, у которых есть реквизит «Дата» или «Период». При этом, если установлена галка «Для всех объектов», то отбор по датам будет распространяться на все выбранные объекты, у которых есть реквизит «Дата» или «Период».

10. «Авторегистрация» служит для отбора объектов при регистрации/отмене регистрации, у которых «Авторегистрация=Разрешить» или «Авторегистрациия=Запретить». Что это такое можно прочитать в справке 1С.

11. Для того чтоб можно было установить нужный отбор для вида объекта, нужно в дереве напротив нужного объекта поставить галку. При этом станет активна таблица отборов. Если нужно выбранный отбор установить (или удалить) на прочие выбранные объекты (в пределах одного корня), то для этого существует «Общий отбор».  Нужно стать на нужный отбор и через контекстное меню (или через меню <Общие отборы>) выбрать «Установить фильтр по данному полю для всех объектов» или «Удалить фильтр по данному полю для всех объектов». При этом система проанализирует данные, и если будет найден нужный реквизит, по которому выполняется отбор для каждого выбранного объекта, то система проставит выбранный отбор.

12. На закладке «Объекты, которые будут зарегистрированы» можно посмотреть какие данные будут зарегистрированы с учетом указанных отборов. Для этого нужно выбрать в дереве объектов объект, установив пометку, и система сформирует запрос и подставит его в динамический список. Если данные не отображаются, то нужно проверить отборы и отбор по дате так же. Т.к. используются динамические списки, то система не сразу считывает все данные, и следовательно, не нагружает систему.

13. На закладке «Зарегистрированные объекты» отображаются зарегистрированные данные для текущего узла. Эти данные отображаются сразу, выбирать объект нет необходимости. Для ссылочных данных отображается только зарегистрированная ссылка, для наборов регистров сведений неподчиненных – комбинации измерений, которые входят в основной отбор.

14. В списке «Объекты, которые будут зарегистрированы» доступны для одиночной регистрации 2 контекстные команды – «Зарег. одиночные данные для ТЕКУЩЕГО узла» и «Зарег. одиночные данные для СПИСКА выбранных узлов» - служат для регистрации одной или нескольких выбранных строк данного списка. Разница в том что одна команда выполняет регистрацию для текущего узла, а вторая – для массива узлов, которые выбраны пометками на закладке «Список узлов».

15. В списке «Зарегистрированные объекты»  доступны для одиночной отмены регистрации 2 контекстные команды – «Отм. рег. одиночных данных для ТЕКУЩЕГО узла» и «Отм. рег. одиночных данных для СПИСКА выбранных узлов» - служат для отмены регистрации одной или нескольких выбранных строк данного списка. Разница в том что одна команда выполняет отмену регистрации для текущего узла, а вторая – для массива узлов, которые выбраны пометками на закладке «Список узлов».

16. Рассмотрим команды главного меню. Меню «Зарегистрировать»:

- Команда «Данные выбранных объектов с учетом отборов и настроек для ТЕКУЩЕГО узла» служит для регистрации данных с учетом отборов и настроек для текущего (выбранного) узла. Позволяет регистрировать реквизиты объектов с использованием уровней регистрации, а так же движения документов.

- Команда «Данные выбранных объектов с учетом отборов и настроек для СПИСКА выбранных узлов» служит для регистрации данных с учетом отборов и настроек для списка выбранных узлов в таблице узлов с помощью пометок. Позволяет регистрировать реквизиты объектов с использованием уровней регистрации, а так же движения документов.

- Команда «ВСЕ данные выбранных объектов в дереве для ТЕКУЩЕГО узла» служит для полной регистрации всех данных выбранных объектов в дереве для текущего (выбранного) узла. Не использует отборы и настройки, кроме фильтра по «Авторегистрация».  Если нужно просто зарегистрировать все данные определенных объектов, то данный способ предпочтительнее т.к. быстрее регистрирует данные, чем с использованием отборов и настроек.

- Команда «ВСЕ данные выбранных объектов в дереве для СПИСКА выбранных узлов» служит для полной регистрации всех данных выбранных объектов в дереве для списка выбранных узлов в таблице узлов с помощью пометок. Не использует отборы и настройки, кроме фильтра по «Авторегистрация». Если нужно просто зарегистрировать все данные определенных объектов, то данный способ предпочтительнее т.к. быстрее регистрирует данные, чем с использованием отборов и настроек.

- Команда «ВСЕ данные для ТЕКУЩЕГО узла» служит для регистрации ВСЕХ данных объектов, входящих в выбранный план обмена для текущего (выбранного) узла.  Не использует отборы и настройки, кроме фильтра по «Авторегистрация». Выбирать объекты в дереве нет смысла.

- Команда «ВСЕ данные для СПИСКА выбранных узлов» служит для регистрации ВСЕХ данных объектов, входящих в выбранный план обмена для списка выбранных узлов в таблице узлов с помощью пометок.  Не использует отборы и настройки, кроме фильтра по «Авторегистрация». Выбирать объекты в дереве нет смысла.

17. Команды в меню «Отменить регистрацию» аналогичны по функционалу командам из меню «Зарегистрировать», за исключением, что они служат для отмены регистрации данных. Большинство команд можно вызвать через контекстное меню дерева объектов на закладке «Состав плана обмена»

18. Команда «Обновить» служит для обновления данных о количествах данных. Таблица узлов и дерево объектов не перезаполняются.

19. Подменю «Настройки» содержит команды для сохранения/загрузки настроек и отборов для каждого вида объекта из состава плана обмена в файл/из файла.

 

Может быть встроены в дополнительные отчеты/обработки. 

 

Протестирована на платформе  8.3... Тестировались в УТ 11.2, БП 3.0, УТ10.3, БП 2.0, переписанный рарус с интерфейсом "такси". 

Немного технических данных об обработке:

  • Код открыт, можно дорабатывать самостоятельно
  • Общее количество строк кода около 2900
  • Для регистрации реквизитов объекта (при уровне ссылочности 2 и 3) не используется ПолучитьОбъект(), что дает возможность регистрировать большие объемы данных, без возникновении проблем с памятью и дает прирост скорости.
  • Каждая ссылка при регистрации/отмене регистрации (при уровне ссылочности 2 и 3) обрабатывается один раз т.к. встроена проверка, без использования метода ИзменениеЗарегистрировано, что дает прирост в скорости от 2 раз.

 


Обновление от 12.07.2023, версия 1.2!

  • Исправлены мелкие баги

Обновление от 17.11.2020, версия 1.1!

  • Добавлен механизм регистрации связанных объектов для выбранного вида объекта. Система построена на критерии отбора "Связанные документы" и позволяет по ссылкам зарегистрировать объекты, которые связаны с текущими. Например, у вас есть документ ПКО и вы хотите зарегистрировать на выгрузку связанные с ним документы. Система найдет ссылки на все выбранные с учетом отборов документа ПКО и каждую ссылку проанализирует на предмет наличия подчиненного объекта. Все полученные ссылки будут представлены как список в отборе для каждого связанного вида объекта. Чтоб сделать регистрацию связанных объектов, достаточно стать на вид объектов в дереве, установить отбор и вызвать команду из контекстного меню или из главного "Найти связанные объекты" и затем выбрать "Регистрация выбранных объектов с учетом отборов". Аналогично, можно снять регистрацию со связанных объектов.

Обновление от 11.05.2019, версия 1.03!

  • Исправлены ошибки с динамическими списками "Объекты, которые будут зарегистрированы" и "Зарегистрированные объекты".

Обновление от 28.11.2018, версия 1.02!

  • Исправлена ошибка при использовании общего отбора. Ранее, если реквизит имел одинаковое имя во многих объектах, но разные синонимы, то общий отбор мог не устанавливаться.

Обновление от 21.05.2017, версия 1.01!

  • Исправлена ошибка при отображении и отборе данных в динамическом списке на закладке "Объекты, которые будут зарегистрированы". Ранее, в конфигурациях, у которых стояло в свойствах конфигурации, режим совместимости 8.3.8 и выше, возникала ошибка. 

 


 

Все покупатели получают обновления БЕСПЛАТНО в течении 12 месяцев с момента приобретения! 

Для подписки на обновления просьба писать на почту, указанную в обработке или в личном сообщении на данном сайте! В тексте сообщения просьба указать название разработки и адрес почты, на который будут приходить обновления! 

Все мои коммерческие разработки найдете в телеграмм-канале @Hakerxp_1CПодписывайтесь, чтоб быть в курсе последних мои разработок и обновлений моих решений! Без рекламы!

РАСПРОСТРАНЕНИЕ БЕЗ ПИСЬМЕННОГО СОГЛАСИЯ АВТОРА ЗАПРЕЩЕНО!

Ключевые слова:   регистрация   обмен   план   обмена   отборы   просмотр   зарегистрированных   список   узлов
Файлы для скачивания
0
    ≡ к списку разработок
    Яндекс-директ