Доработка обмена через универсальный формат с...
-

Доработка обмена через универсальный формат с помощью расширения конфигурации (на примере УНФ 1.6 - БП 3.0)

0
13568
23.05.2019 Игорь Цебоев

Содержание:

1.       Синхронизация информационных баз

2.       Постановка задачи по доработке обмена через универсальный формат

3.       Реализация технических требований заказчика

3.1 Не регистрировать на обмен документы «Расходная накладная» 1С с префиксом «НФ»

3.2 Выгружать непроведенные, но не помеченные на удаление документы с помощью процедуры общего модуля 

 

1. Синхронизация информационных баз


Если говорить про синхронизацию информационных баз, то на данный момент компания «1С» ведет политику постепенного перехода с традиционного обмена данными по правилам обмена на обмен данными через универсальный формат (далее обмен через УФ). Считается, что это более унифицированный вариант: нет необходимости каждый раз менять правила после обновлений конфигурации, для групповых обменов больше не нужны десятки разных настроек.


Таким образом, например, если в свежем релизе конфигурации 1С:УНФ 1.6 делать синхронизацию с 1С:Бухгалтерия 3.0, то обмен по умолчанию будет настраиваться через универсальный формат. Но обмен через УФ по сравнению с традиционным обменом имеет ряд принципиальных отличий:


1.      Правила регистрации и конвертации объектов «зашиты» в конфигурацию и нет возможности загрузить их в настройке синхронизации 1С 8.3 в пользовательском режиме.


2.      Нет возможности производить синхронизацию через прямое подключение к базе, только – через выгрузку в файл.


Рассмотрим доработку обмена через УФ между «1С:Управление небольшой фирмой 1.6» (далее УНФ) и «1С:Управление корпоративными финансами» (далее УКФ) на примере определенных требований заказчика. 

 

2. Постановка задачи по доработке обмена через универсальный формат

 

Настройки обмена через УФ не соответствовали в полной мере требованиям заказчика. В частности, требовалось:


·         Не регистрировать на обмен документы «Расходная накладная» 1С с префиксом «НФ».

·         Выгружать непроведенные документы.

·         Не выгружать помеченные на удаление документы. 

 

3.    Реализация технических требований заказчика

 

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


В первую очередь необходимо создать новое расширение конфигурации 1С 8.3 через пункт «Конфигурация – Расширение конфигурации» 1С 8.3. Далее открываем созданное расширение и переходим в дерево основной конфигурации.


Механизм регистрации объектов обмена находится в общем модуле «ОбменДаннымиСобытия».




Рис. 1. Общий модуль «ОбменДаннымиСобытия»

    

Его мы и будем дорабатывать под технические требования заказчика. Добавляем данный модуль в открытое расширение (правой кнопкой мыши по объекту – 1С «Добавить в расширение»). Теперь необходимо внести правки в код общего модуля в расширении. Но есть один нюанс – по умолчанию модуль объекта недоступен для редактирования. Чтоб включить эту возможность, переходим в окно нашего расширения, находим в дереве общий модуль «ОбменДаннымиСобытия» и выбираем свойства объекта. В палитре свойств необходимо поставить галку в строке «Модуль», тем самым активировав возможности редактирования документов.

 



Рис. 2. Свойства общего модуля «ОбменДаннымиСобытия» в расширении


3.1.Не регистрировать на обмен документы «Расходная накладная» 1С с префиксом «НФ»

 

Для выполнения данной задачи потребуется «подменить» процедуру «ВыполнитьПравилаРегистрацииОбъектовДляПланаОбмена»общего модуля 1С в расширении. Для этого необходимо скопировать код процедуры основной конфигурации и вставить в общий модуль в расширении. Чтобы вызов процедуры происходил из расширения, необходимо перед процедурой прописать &Вместо («Название исходной процедуры или функции»). Важный момент: название процедуры или функции в расширении должно отличаться от исходного названия!

Чтобы документы «Расходная накладная» 1С с определенным префиксом не попадали в выгрузку, добавляем в код процедуры «ВыполнитьПравилаРегистрацииОбъектовДляПланаОбмена» проверку на содержание в номере документа префикса «НФ». Если совпадение не найдено, то документ не регистрируется на обмен.




Рис. 3. Листинг кода процедуры «ВыполнитьПравилаРегистрацииОбъектовДляПланаОбмена»в расширении 

   

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

 

Для этой задачи потребуется процедура «ОбъектПрошелФильтрПравилРегистрацииПоСвойствам» того же общего модуля 1С.




Рис. 4. Процедура «ОбъектПрошелФильтрПравилРегистрацииПоСвойствам» в расширении

 

Данная процедура по умолчанию фильтрует только проведенные документы. Наша задача по определенным типам документов пропускать фильтрацию, тем самым регистрировать в том числе непроведенные документы, но в тоже время не выгружать помеченные на удаление.


Также копируем код исходной процедуры и вставляем в общий модуль в расширении. Добавляем в конце процедуры необходимый код с проверкой на тип документа и пометку удаления. Если условие удовлетворяет, то возвращаем «Истину», т.е. фильтрация пройдена (листинг приведен ниже).




Рис. 5. Листинг кода процедуры «ОбъектПрошелФильтрПравилРегистрацииПоСвойствам» в расширении

 

Таким образом можно достаточно быстро доработать правила регистрации или выгрузки обмена через УФ. И в дальнейшем, если понадобится, внести корректировки не прибегая к 1С «Конвертации данных» 8.3. Преимуществом еще является то, что нет необходимости снимать конфигурацию с поддержки, т.к. все изменения делаются в расширении конфигурации. Из минусов можно отметить то, что данный способ больше подходит для небольших корректировок обмена, т.к. после обновления файла конфигурации 1С придется контролировать и дублировать изменения в процедурах расширения. При большом количестве доработок использовать данный способ становится нерационально и тогда выбор в сторону инструмента 1С «Конвертация данных» 8.3 будет более оптимален.

 

Игорь Цебоев,

разработчик 1С компании ООО “Кодерлайн”.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.