Не указан файл внешней обработки с подключаемыми процедурами обработчиков событий

Обновлено: 06.07.2024

Использование общих модулей "Длительные операции" позволяет перенести всю тяжесть исполнения ресурсоемких процедур на сторону сервера, не мешая при этом работе клиентского приложения, инициировавшего этот процесс, т.е. не мешая дальнейшей работе пользователя в приложении. Описанная возможность реализуется в модулях БСП за счет исполнения "тяжелых" процедур на сервере в фоновом режиме (запуску фоновых заданий под каждую процедуру).

Ниже приведены процедуры, позволяющие реализовать в любой форме возможность выполнения необходимой вам длительной операции в фоновом режиме. Для этого в форме обязательно должны содержаться два реквизита "АдресХранилища" (типа строка) и "ИдентификаторЗадания" (типа уникального идентификатора), в модуле формы должна быть объявлена клиентская переменная "ПараметрыОбработчикаОжидания". Помимо этого экспортная процедура длительной операции должна содержать в себе два параметра "СтруктураПараметров" (типа структуры) и "АдресХранилища" (типа строка), результат исполнения должен быть помещен во временное хранилище, а адрес в нем должен быть присвоен параметру "АдресХранилища".

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

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

Собственно сама серверная процедура, которая запускает необходимую нам длительную операцию, вызов которой будет произведен из "ИмяМодуля.ИмяЭкспортнойПроцедуры". Также в этой процедуре заполняется структура параметров, необходимых для исполнения длительной операции, и запоминается идентификатор фонового задания, под которым выполняется длительная операция.

Процедура обработчика ожидания мониторит выполнение запущенного нами фонового задания, в случае успеха - результат выполнения длительной операции извлекается из временного хранилища по адресу "АдресХранилища", в противном случае обработчик ожидания подключается заново для следующей очередной проверки.

Использование процедур общих модулей "Длительные операции", входящих в состав БСП, позволяет довольно удобным и быстрым способом осуществить в конфигурации выполнение необходимых длительных ресурсоемких операций, инициируемых пользователями системы, на стороне сервера в фоновом режиме, что делает работу пользователей в приложении более комфортной и производительной ( не блокируется весь пользовательский интерфейс на время выполнения длительной операции и возможность параллельного запуска нескольких длительных операций).

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

Ведь формы выбора файлов, вопросов, предупреждений, ввода значений, да и зачастую формы, от результата работы в которых зависит дальнейший ход событий, были модальными.

Основным инструментом отказа от модальности стало ОписаниеОповещения.

Как работает ОписаниеОповещения

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

В данном случае пользователю будет показан диалог, а работа клиентской части будет полностью приостановлена до момента, пока пользователь не ответит на вопрос.

Диалог с ОписаниеОповещения

Тогда результат поместится в переменную Ответ и только после этого работа клиентской части будет возобновлена для выполнения алгоритма заполнения.

Напишем аналогичный пример, но уже без модального вызова. Будем использовать метод ПоказатьВопрос(), которому передадим ОписаниеОповещения.

Пользователь не заметит разницы, ведь будет показан точно такой же диалог с вопросом. Но исполнение кода не будет приостановлено, вместо этого будет исполнен дальнейший алгоритм и будет завершена работа текущей процедуры.

После ответа пользователя будет вызвана процедура ОбработатьОтветПользователя(), которую мы указали в конструкторе ОписаниеПоповещения и только тогда будет выполнен алгоритм заполнения.

Описание функционала от разработчиков на ИТС

Синтаксис

Конструктор ОписаниеОповещения имеет 5 необязательных параметров:

Вызываемая процедура и её параметры

Вызываемая процедура должна быть экспортируемой, и в самом простом случае содержать два параметра Результат и ДополнительныеПараметры.

В зависимости от объекта в котором используется ОписаниеОпопвещения, количество параметров вызываемой процедуры может меняться.

Например вызываемая процедура для обработки оповещения метода глобального контекста НачатьПомещениеФайла() должна иметь 4 параметра.

Для избежания ошибок обращайтесь к Синтаксис-помощнику, там описано количество и порядок необходимых параметров.

Выполнение обработки оповещения

В платформе реализован метод ВыполнитьОбработкуОповещения(), для возможности непосредственного выполнения обработки оповещения.

Методу в качестве параметра необходимо передать ОписаниеОповещения, которое будет выполнено. Так же можно передать в процедуру обработки произвольный результат вторым необязательным параметром.

Работа на сервере

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

Возможные ошибки

Не найден экспортируемый метод

Если вызываемая процедура не экспортная, то при исполнении будет вызвано исключение. Решается указанием экспортной процедуры.

Не найден экспортируемый метод

Количество параметров 1. Ожидаемое количество – 2

Если вызываемая процедура будет объявлена с одним параметром, то при исполнении будет вызвано исключение. Решается добавлением второго параметра в вызываемую процедуру.

Количество параметров 1. Ожидаемое количество – 2

Примеры использования ОписаниеОповещения

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

Оповещение о закрытии формы

Реализуем функционал открытия формы подбора с дальнейшей обработкой результата

Ввод значений и предупреждения

Реализуем функционал ввода числа. После ввода выполним проверку на четность введенного числи, если число не четное выведем предупреждение

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

При работе на стороне клиента, например с оборудованием, логику работы системы можно организовать при помощи оповещений. Можно передавать ОписаниеОповещения в качестве следующего шага, ветвления логики или вызывать одно оповещение из нескольких мест.

Разработаем функционал проверки существования файла. В модуле реализована процедура для централизованной обработки ошибок ОповеститьОбОшибке(), будем передавать ОписаниеОповещения об ошибке через дополнительные параметры.

Обработаем результат проверки существования файла. Если файл не существует, выполним обработку оповещения переданного через дополнительные параметры

Выгрузка кадровых данных из ЗУП 2.5(релиз 2.5.99.2) проходит успешно, при попытке загрузить данные в БУ3.0(релиз 3.0.43.124) через обработку "Универсальный обмен в формате XML(2.1.8)" возникает ошибка загрузки:

(30) jurix, прочитайте информацию, что я писал 24.02.2016 в этой публикации.
1С ещё молчат. (31) Можно ссылочку, или я невнимательный или это в другом месте?

UPD 24/02/2016
Слегка переделал обработку выгрузки данных из ЗУП 3.0 в БП 3.0.
Теперь при переносе организации, от самой организации переносятся только ее основные реквизиты: Наименование, ИНН, КПП и несколько других важных. Адреса, коды налоговых огранов и тд. и тп. не переносятся чтобы не затирать данные в базе приемнике, так как у некоторых в ЗУП 3.0 одни данные, а БП 3.0 другие.

PS
Замечено, что на БП выше версии 3.0.43.100 обновили обработку "Универсальный обмен данными XML" из-за чего та перестала корректно загружать данные (не срабатывает событие окончания загрузки параметров), 1С пока молчит, рекомендую использовать для загрузки данных, старую версию обработки "Универсальный обмен данными XML", которую можно экспортировать из БП 3.0.43.100 и ЗУП ниже 3.0.25.74.

Ошибка при выгрузке данных из зуп 2.5. Выбран только список сотрудников
Обработка выгрузки ВыгрузкаДанныхИзЗУП25130БП3059_INFOSTART.epf

Начало выгрузки: 31.08.2018 12:14:05

исправьте небольшая ошибка в предложении, вместо Вызвитие наверно должно быть Развитие . Да не все сотрудники переносятся, плюс ко всему на некоторые приказы на увольнение ругается. (3) nick_189, примеры ругательств в студию!
на счет сотрудников ничего сказать не могу, одно точно знаю, что всех она и не тянет, так как, как правило берутся отраженные в кадровых документах. Можно скопом выгрузить вообще всех и для этого есть галочка внизу.

(4) imbaZeratul, не могу согласиться с этим утверждением.
На ТЕСТОВОЙ БП 3.0.27.7 проделал следующее. Открыл регистр сведений ФИО. Нажал Ctrl+A (выделить все), подождал, жмякнул кнопку удалить, подождал. Регистр ФИО пуст. Выгрузил в своем случае кадровые документы от 01.01.2012 из ЗУП 2.5.76.1. В БП 3.0 открыл обработку универсальный обмен данными в XML 2.1.7. Выбрал вкладку загрузки данных, включил режим на клиенте, жмякнул кнопку загрузить, выбрал ранее выгруженные файл с данными. После загрузки в регистре ФИО снова появились фамилии.

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

И так на заметку, все делаю под админом, как у простых смертных не знаю, обработку не допиливаю так как идет очередной намеренный срыв перехода на БП 3.0 какой был и при переходе на БП 2.0. Хороших вам переходов и адекватной бухгалтерии. Если в параметре учета БП 3.0 стоит расчет зарплаты "во внешней программе" то при импорте кадровые данные не записываются, а если поставить в "этой программе" то данные загружаются нормально, можно ли как то это обойти?

(8) nick_189, читайте порядок загрузки как написано в топике. Никаких шаманств с настройками, где идет учет, не нужно.
Учитывайте тот факт, что все это ИЗВРАЩЕНИЕ с данными ибо сама 1С не предусмотрела таких перегрузок и никак не облегчает процесс.

Только что проверил выгрузку ЗУП 2.5.78.1 -> БП 3.0.30.12, все работает как и задумано.

(9) можно подробную инструкцию как вы загружали данные, какие галочки ставили? Как бы автор со мной не спорил, но у меня данные записываются только если параметре учета Сотрудники и зарплата стоит "В этой программе". А так все работает. Спасибо за обработку. (12) nick_189, (13) blizz, ну что сказать, нужен тогда порядок как вы эту ошибку ловите в картинках, не плохо бы и выгруженные данные получить, ну хоть с демо базы к примеру

Обновил правила переноса в обработке под БП 3.0.32, ну чтобы покрасивше данные переносились.

В свете подготовки перехода на ЗУП 3.0 хотелось бы узнать у вас всех, может кто осваивал метод переноса кадровой инфы посредством планов обмена и может у кого-то есть готовый способ, который можно заюзать и может быть в последствии модифицировать под себя. С нуля как-то ленно все начинать))) Даже ленно поискать в инете)) Работы навалило выше крыши))

(19) prochka, тестировал только на ПРО версии ЗУП и потому ограничение такое.
Даже понятия не имею чем базовая от про версии отличается. Добрый день!
Бухгалтерия предприятия, редакция 3.0 (3.0.39.67) пишет - Не указан файл внешней обработки с подключаемыми процедурами обработчиков событий (21) таксебе, опишите, что вы делаете и в какой базе, что появляется данная ошибка (23) таксебе, я так полагаю у вас там стоит галочка режима отладки, уберите ее и попробуйте Спасибо всё получилось перенести из ЗУП 2.5 в БП 3.0 :)

Не совсем понятно ЗУП 3 -> БП 3 нужны наверное пред настройки ?
как обработка узнает куда выгружать (где сохранить файл или где БП3)?
У меня ругается

И еще ВыгрузкаКадровыхДанныхДляБП30 для ЗУП 2 ?
нет управляемой формы ?

(28) ssn5810,
ВыгрузкаКадровыхДанныхДляБП30 - для ЗУП 2.5 -> БП 3.0
ВыгрузкаДанныхИзЗУП30ВБП30_УФ_INFOSTART.epf - для ЗУП 3.0 -> БП 3.0

Соответственно ВыгрузкаКадровыхДанныхДляБП30 нужно открывать в ЗУП 2.5
ВыгрузкаДанныхИзЗУП30ВБП30_УФ_INFOSTART нужно открывать в ЗУП 3.0

И та и та обработки на выходе дают XML файл, который вы сами загружаете в БП 3.0

Где вы запускали обработку, что она у вас дала сбой? Какая база данных?

Уважаемый автор, подскажите, пожалуйста, выгружаются ли из Зуп 3 в БП 3 документы Ведомости в Банк, Ведомости в кассу, Перечитсления НДФЛ в бюджет . Спасибо! (35) xten, ведомости точно нет, по НДФЛ что-то было.
В общем та все можно допилить, расширив возможности обработки При загрузке выдает ошибку скрин1 пробовал и штатной и старой из бух. Сотрудники перенеслись, но должность и подразделения не перенеслись Скрин Перенос из ЗУП 3.1 в ОБщепит 3.0 (Бухия в ней не тронута) только штатных сотрудников и кадровых документов. Справочники должности и подразделения не потянусь. В чем может быть ошибка?

(37) KOVRUS, ну судя по всему должности и подразделения у вас перенеслись, однако они же и не показываются у вас, когда вы открываете список сотрудников, колонки пустые.
По вашему скрину видно, что у вас валится с ошибкой обработчик события ПослеЗагрузкиДанных именно в нем есть такой программный код

Именно этот код и прописывает так сказать сведения о подразделениях и должностях, о чем говорит комментарий в коде

Вот регистр ТекущиеКадровыеДанныеСотрудников у вас и не обновился однако при загрузке из-за некой ошибки.

Посему, я соорудил отдельную автономную обработку для БП 3.0 которая содержит в себе аналогичный код.
Скачайте и попробуйте запустить ее, потом скажите, на какой ошибке она валится.

Спасибо за ответ! Обработку запустил,проходит без ошибок, не помогло, и справочники все таки не перенеслись. Пустые Скрин и этот тоже Скрин2 И подскажите, что нужно сделать что бы обработка загрузки завершалась корректно? (39) KOVRUS, сложно вам что-то советовать не видя данные в базах

Зуп 3.1.1.98=>бп 3.0.46.16 Поможете понять в чем причина?)

Что бы делали чтобы получить такую ошибку?

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

выгрузили в файл с помощью обработки и встроенной обработкой Универсальный обмен данными в формате XML пытался загрузить. После этого вылезла такая ошибка (43) чтобы не гадать, я решил, что пора бы подкорректировать правила переноса данных внутри обработки ЗУП 3.1 => БП 3.0, так как версии конфигураций ушагали вперед, а там видно будет. Отпишусь.

(43) Столкнулся с такой же проблемой. Оказалось, что в регистре сведений "ПравилаДляОбменаДанными" загружены правила обмена и регистрации от какой-то версии ЗУП 3.0, а на дворе уже 3.2. Кто и когда их туда загрузил - неизвестно.

Я установил использование правил из конфигурации и организация стала выгружаться нормально.

(45)
Правила поправил, запилил как отдельную обработку, саму обработку выложил тут.
Проверил выгрузить данные из ЗУП 3.1.2.105 по всем пунктам, все выгрузилось.
Потом получившийся файл загрузил при помощи встроенной обработки "Универсальный обмен данными в формате XML" в БП 3.0.47.26, все загрузилось без проблем. Добрый день.
Имеется задача выгрузить всех физ.лиц с их данными из ЗУП 3.1 в БП 3.0, какую обработку качать?

Если будут проблемы, то пишите.
Поправлю если чего не так.
Новую версию на почту кину.

Здравствуйте.
Вот с чем столкнулся.
В ЗУП 3.1 не "КлассификаторБанков", а "КлассификаторБанковРФ" (3.1.2.272). Пока так. Так уж получилось,что
БП 3.0.51, а ЗУП только 3.1.2.
Причем Правила проверяют релиз БП, а вот проверкой релиза ЗУП пренебрегают ;)

Но мне как-то неуютно следующее: "Если Не Параметры.ОтменаЗагрузки Тогда // Если в программе отключен кадровый учет, то мы сами принудительно обновляем регистр сведений ТекущиеКадровыеДанныеСотрудников (. )".
Хотя и не нашел, где этот параметр, но в любом случае хотелось бы не тащить в БП ничего личного.
Нельзя ли это дело отключить флажками формы?
Спасибо.

В ЗУП 3.1 не "КлассификаторБанков", а "КлассификаторБанковРФ"

Ну есть такое дело.
Я в основном подгоняю обработку пот текущии версии или под тестовые, которые уже скоро появятся в релизе.
Обработка "ВыгрузкаДанныхИзЗУП3102ВБП3047_УФ_INFOSTART.epf" в вашем случае не подходит?

Но мне как-то неуютно следующее: "Если Не Параметры.ОтменаЗагрузки Тогда // Если в программе отключен кадровый учет, то мы сами принудительно обновляем регистр сведений ТекущиеКадровыеДанныеСотрудников (. )".
Хотя и не нашел, где этот параметр, но в любом случае хотелось бы не тащить в БП ничего личного.
Нельзя ли это дело отключить флажками формы?
Спасибо.

Мозги мои много чем загружены.
По памяти вроде помню, что данный блок нужен тогда когда вы переносите кадровые данные сотрудников. Этот же блок просто берет и обновляет данные регистра текущих кадровых состояний сотрудников, но уже на основании тех данных, что проведены в БП. Из ЗУП, если переносить кадровые документы, тянутся сотрудники, а те в свое время тянут за собой физиков, которые тянут за собой другие данные присущие физикам.

Под личного, что вы понимаете? Что мешает?

(53) Под "личным" я понимаю "Личные данные" физ. лиц, которые полезут в Бухгалтерию при переноске кадровых данных. Что противоречит несколько нашей политике: "Личные данные только в ЗУП.

Эмм. Как правильно этот ПКС изменить? Может, просто грохнуть? А то он и дальше гадит.
Извините за дилетантские вопросы :)
Вот поборюсь с выгрузкой, и попрошу совета: в каком месте перехватить табличную часть для некоторой трансформации в отдельном модуле. Мне важно именно при выгрузке, дабы в самой БД осталось как задумано разработчиком.
Если конкретно: в ЗУП Подразделения "деревом" (3 уровня), в БП - простой гладкий список без иерархии. Так давно повелось, и совсем не хочется губить БД (в БП3). Надо всего-то по Соответствию подменить ссылки.

(56) Можно попробовать на живую в текстовом файле правил переноса данных заменить текст ТолькоНациональныйАдрес на АдресТолькоРоссийский.
До ЗУП 3.1.3 реквизит ТолькоНациональныйАдрес назывался как АдресТолькоРоссийский.

Или же это же самое сделать в конфигурации Конвертация данных, только для этого нужно в конфигурацию Источник (она же ЗУП) закачать структуру метаданных от ЗУП 3.1.2

(57) Да, спасибо. Помогло. Файл сформировался.
Теперь для полного счастья мне надо отловить Табличные части, и поработать с ними отдельно. До свертки - и так проводок дофига.
Без этого никак: структура Подразделений очень даже разная, 1:1 переносить нельзя.
Совет не дадите? (62) сейчас нет. Насколько память не изменяет, то есть правила выгрузки данных и там в них описаны алгоритмы выгрузки кишков документов, вот там можно и шаманить с табличными частями как вам нужно. Под "личным" я понимаю "Личные данные" физ. лиц, которые полезут в Бухгалтерию при переноске кадровых данных. Что противоречит несколько нашей политике: "Личные данные только в ЗУП.

Тут спорно все ибо в той же БП делаются авансовые отчеты, доверенности, приходные и расходные ордера и там нужны те же паспортные данные. Выгружается и так необходимый минимум.
ФИОФизическихЛиц
ГражданствоФизическихЛиц
ДокументыФизическихЛиц
СведенияОбИнвалидностиФизическихЛиц
Контактные данные.

Могу конечно параметризировать: ГражданствоФизическихЛиц, ДокументыФизическихЛиц, СведенияОбИнвалидностиФизическихЛиц, Контактные данные.
ФИО смысла нет трогать.

Тут спорно все ибо в той же БП делаются авансовые отчеты, доверенности, приходные и расходные ордера и там нужны те же паспортные данные. Выгружается и так необходимый минимум.
ФИОФизическихЛиц
ГражданствоФизическихЛиц
ДокументыФизическихЛиц
СведенияОбИнвалидностиФизическихЛиц
Контактные данные.
Хм. Прошу не обижаться, но это совершенно неверное представление о "Личных данных". От идентификации со-трудника никак не уйти, мы еще не готовы обращаться к людям по ИНН ;)
Когда мы говорим о "Личных данных", речь идет о тех сведениях, которые вовсе не обязательны для работы. Паспорт, конечно нужен хотя бы для выписки доверенности, как и многое другое (номер банковской ПК и т.д), но каждый раз необходим вопрос: "С какой целью, гражданин, интересуетесь?". Иначе само понятие о сохранности личных данных потеряет всякий смысл. В конце-то концов, ни двери, ни заборы противотанковыми не делают, их основное предназначение - воспрепятствовать проникновению посетителям не нужным, праздношатающимся, глупым, и не дать возможности слишком ушлым сослаться на "нечаянно".
С этой точки зрения и гражданство , и инвалидность суть знания избыточные. Да и вообще, кадровики и снабженцы общаются с разными людьми, и необходимость синхронизировать Контактные данные совершенно неубедительны.
Но это я забрел в сторону, извините.
Конкретно: как этот ПКС должен выглядеть? Или вообще.выкинуть эти метаданные из обмена? Жалко же, вдруг пригодятся ;) чет не переносится должность, подразделение и таб.номер ( (55)
нет, только сотрудника, одного, без физ.лица, оно уже было в бп (60) кадровые данные переносятся только с кадровыми документами
по кадровым данным выстраивается кадровая история, по ней уже в свою очередь заполняется регистр сведений текущей кадровой картины, которая отражается в виде отдельных колонок в списке сотрудников Документ "Отражение ЗП в Бухучете" ЗУП - как будет выглядеть в Бухгалтерии? как "Зарплата (Зуп 2.5)" или "Отражение ЗП в Бухучете"? Прошу пояснить слово перегоняются в документ "Зарплата (ЗУП 2.5)" существует дополнительная обработка посредством чего они перегоняются?

(67) Перегоняются = Копируются движения из проведенного документа "Отражение ЗП в Бухучете", в табличную часть с проводками в документ "Зарплата (Зуп 2.5)" после чего последний редактируется и проводится.

Делают копирование проводок уже другими обработками, не из этой публикации то есть.
Кто-то наверное и сразу на лету при конвертации данных создает "Зарплата (Зуп 2.5)" пытаясь в нем сгенерировать проводки. Не мой случай.

Поковырялся в закромах, нашел одну обработку, сделанную по типу обработки заполнения табличных частей (копирует проводки из указанного документа "Отражение ЗП в Бухучете") для документа "Зарплата (Зуп 2.5)", но ее еще нужно "прилизать" перед публикацией.

Обработка "Универсальный обмен данными в формате XML" предназначена для загрузки и выгрузки данных в файл из любой конфигурации, реализованной на платформе 1С:Предприятие 8.

Режим работы
При использовании управляемой формы обработка имеет два режим работы:
1. На клиенте. При использовании этого режима файлы правил и загружаемых данных передаются с клиента на сервер, а файл выгружаемых данных передается с сервера на клиент. Пути к этим файлам, находящимся на клиенте, необходимо указывать в диалоговом окне непосредственно перед выполнением действия.
2. На сервере. В этом режиме файлы не передаются на клиентн и пути к ним необходимо указывать на сервере.
Примечание: Файл внешней обработки и файлы протоколов обмена всегда должны находиться на сервере вне зависимости от режима работы.

Обработка имеет четыре закладки

Выгрузка данных
Для осуществления выгрузки данных необходимо указать имя файла, в который будет осуществляться выгрузка данных и выбрать файл правил обмена. Правила обмена для любых конфигураций могут быть настроены в специализированной конфигурации "Конвертация данных, редакция 2".

Для выгрузки документов и записей независимых периодических регистров сведений необходимо указать период - "Дату начала" и "Дату окончания". Результирующий файл с выгруженными данными может быть сжат.

На закладке "Правила выгрузки данных" можно выбрать те типы объектов, которые должны выгружаться, настроить отборы для выборки объектов, либо указать узел обмена данными, для которого нужно выгружать данные.

На закладке "Параметры выгрузки" можно указать дополнительные параметры выгрузки данных.

На закладке "Комментарий" можно написать произвольный текст-комментарий, включаемый в файл обмена.

Загрузка данных
Для осуществления загрузки данных необходимо указать имя файла, из которого будет осуществляться загрузка данных.

Есть возможность настроить загрузку данных в транзакции. Для этого необходимо взвести флажок "Использовать транзакции" и указать количество элементов в одной транзакции при загрузке.

"Загружать данные в режиме обмена (ОбменДанными.Загрузка = Истина)" – если флаг установлен, то загрузка объектов будет выполнятся с установленным признаком загрузки. Это означает, что при записи объектов в базу данных будут отключены все платформенные и прикладные проверки. Исключение составляют документы, которые записываются в режиме проведения или отмены проведения. Проведение и отмена проведения документа выполняется всегда без установки режима загрузки, т.е. проверки будут выполняться.

Дополнительные настройки
Закладка служит для детальной настройки выгрузки и загрузки данных.

"Количество обработанных объектов для обновления статуса" – параметр служит для определения количества обработанных элементов перед изменением строки состояние загрузки/выгрузки

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

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

"Выгружать объекты на которые есть права доступа" – если флаг установлен, то выборка объектов информационной базы будет выполняться с учетом прав доступа текущего пользователя программы. Это предполагает использование литерала "РАЗРЕШЕННЫЕ" в тексте запроса для выборки данных.

"Изменения регистрации для узлов обмена после выгрузки" – поле определяет режим работы с регистрацией изменений данных после завершения выгрузки данных. Возможные значения:

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

"Имя файла, протокола обмена" – имя файла для вывода протокола процесса обмена данными.

"Протокол загрузки (для COM - соединения)" – имя файла для вывода протокола процесса обмена данными в базе-приемнике при обмене через COM-соединение. Важно: путь к файлу должен быть доступен с компьютера, на котором установлена база-приемник.

"Дописывать данные в протокол обмена" – если флаг установлен, то содержимое файла протокола обмена сохраняется, если файл протокола уже существует.

"Открывать файлы протоколов обмена после выполнения операций" – если флаг установлен, то после выполнения обмена данными файлы протоколов обмена будут автоматически открыты для просмотра.

Удаление данных
Закладка нужна только для разработчиков правил обмена. Позволяет удалять из информационной базы произвольные объекты.

Отладка выгрузки и загрузки данных
Обработка позволяет совершать отладку обработчиков событий и генерировать модуль отладки из файла-правил или файла-данных.

Включение режима отладки обработчиков выгрузки производится на закладке "Выгрузка данных" установкой флажка "Режим отладки обработчиков выгрузки". Соответственно, на закладке "Загрузка данных" включение режима отладки загрузки производится установкой флажка "Режим отладки обработчиков загрузки".

После установки режима отладки обработчиков станет доступной кнопка настройки отладки. По нажатию на эту кнопку откроется окно настройки.

Настройка отладки обработчиков выполняется в четыре шага:

Шаг 1: Выбор режима отладки алгоритмов

На первом шаге необходимо определиться с режимом отладки алгоритмов:

Без отладки алгоритмов
Вызывать алгоритмы как процедуры
Подставлять код алгоритмов по месту вызова

Первый режим удобно использовать, когда мы точно знаем, что ошибка в обработчике не связана с кодом какого-либо алгоритма. В этом режиме код алгоритмов не выгружается в модуль отладки. Алгоритмы выполняются в контексте оператора "Выполнить()" и их код недоступен для отладки.

Второй режим необходимо использовать в тех случаях, когда ошибка находится в коде алгоритма. При установке этого режима алгоритмы будут выгружены как отдельные процедуры. В момент вызова алгоритма из какого-либо обработчика происходит обращение к соответствующей процедуре обработки. Этот режим удобно использовать, когда для передачи параметров в алгоритмы используется глобальная переменная "Параметры". Ограничения использования этого режима в том, что при отладке в алгоритме недоступны локальные переменные обработчика, из которого он вызывается.

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

Шаг 2: Формирование модуля отладки

На втором шаге необходимо произвести выгрузку обработчиков нажатием на кнопку "Сформировать модуль отладки выгрузки (загрузки)". Сформированные обработчики и алгоритмы будут выведены в отдельное окно для просмотра. Содержимое модуля отладки необходимо скопировать в буфер обмена нажатием на кнопку "Копировать в буфер обмена".

Шаг 3: Создание внешней обработки

На этом шаге необходимо запустить конфигуратор и создать новую внешнюю обработку. В модуль обработки необходимо вставить содержимое буфера обмена (модуль отладки) и сохранить обработку под любым именем.

Шаг 4: Подключение внешней обработки

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

Примечание: Возможность отладки глобального обработчика конвертации "После загрузки правил обмена" не поддерживается.

Читайте также: