1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Пример программной реализации автоматической выгрузки актуальных остатков товаров из одной базы данных в другую (1С: Програмисту)

В дереве метаданных создается регламентное задание, назовем его усВыгрузкаОстатков. Назначется ему расписание и дается имя выполняемого метода, например, усРегламентныеЗадания.усВыгрузитьОстаткиТоваров. Соответственно в общем модуле усРегламентныеЗадания (галочки: «клиент», «сервер») добавляется экспортная процедура усВыгрузитьОстаткиТоваров:

В этой процедуре вызывается другая процедура: усВыполнитьВыгрузкуОстатков. Опишем ее в общем модуле усОбменДанными (галочки: «Клиент», «Сервер», «Глобальный», кстати, благодаря галочке «глобальный» не нужно указывать имя этого общего модуля перед именем процедуры при ее вызове):

В модуле объекта обработки усОбменДанными определяем экспортную процедуру ВыгрузитьОстаткиТоваров:

В этой процедуре используется функция получения данных о параметрах получателей остатков (см. текст запроса):

Рисунок ниже дает представление о справочнике «Узлы обмена»:


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

Там же в модуле обработки размещается используемая процедура СформироватьДанные_ОстаткиТоваров:

В результате выполнения всего этого кода, по расписанию, указанному в регламентном задании, будут формироваться файлы с именем вида «OST_20110706105728.XML», содержащие актуальные на текущий момент остатки в базе.
Теперь приведем пример кода принимающей эти данные базы.
В метаданных принимающей базы создается регламентное задание, например, с именем ахОбменДанными, указывается расписание чтения данных и имя вызываемого обработчика ахОбменДанными.ВыполнитьРегламентныйОбменДанными. В общем модуле ахОбменДанными добавляем процедуру ВыполнитьРегламентныйОбменДанными:

Вызываемая процедура ВыполнитьОбменДанными:

В этой процедуре вызвана процедура модуля обработки ахОбменДанными ПолучитьСообщения, вот ее код:

Тут нас интересуют, во-первых, процедура, читающая структуру файла xml и записывающая все это в ДеревоОбмена:

Во-вторых, процедура, собственно анализирующая прочитанное:

Процедура-интерпретатор данных ЗагрузитьДанные_ОстаткиПоЕдиницамИзмерения (остатки УС в этой базе хранятся в регистре сведений РегистрыСведений.ОстаткиУС, цель процедуры — очистить регистр от старых остатков и переписать на новые):

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Автор 1С

One thought on “Пример программной реализации автоматической выгрузки актуальных остатков товаров из одной базы данных в другую (1С: Програмисту)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Next Post

Как вывести на "морду" формы программно сформированное значение (1С: v8: Программисту)

Чт Июл 7 , 2011
В диалогом окне формы добавляется элемент управления типа «Надпись» (меню конфигуратора «Форма — Вставить элемент управления — Надпись»):