Использование метода набора записей регистра накопления Загрузить () в типовой конфигурации Управление Торговлей редакции 11 на платформе 8.2

26.08.13

Разработка - Механизмы типовых конфигураций

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

Использование метода набора записей регистра накопления Загрузить () в типовой конфигурации
Управление Торговлей редакции 11 на платформе 8.2

  1. Описание метода.

Синтаксис метода - Загрузить(), параметр имеет тип ТаблицаЗначений, является обязательным. Таблица значений содержит данные для заполнения набора записей. Метод загружает набор записей значениями из переданной таблицы значений. При этом все прежние записи набора удаляются. Заполняются значения доступных для записи свойств записей регистра накопления, имена которых совпали c именами колонок таблицы значений. Метод доступен на сервере , в толстом клиенте и во внешнем соединении.

      2. Обработка проведения в типовой конфигурации Управление Торговлей ред.11.

 Рассмотрим как осуществляется движение по регистрам накопления в обработке проведения конфигурации Управление Торговлей ред.11. Для этого откроем в конфигураторе модуль объекта Документа Поступление Товаров и Услуг :

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);

	Документы.ПоступлениеТоваровУслуг.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);

	ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

	ЗаказыСервер.ОтразитьЗаказыПоставщикам(ДополнительныеСвойства, Движения, Отказ);
	ЗаказыСервер.ОтразитьТоварыКПоступлению(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьТоварыНаСкладах(ДополнительныеСвойства, Движения, Отказ);

 

Первая процедура ИнициализироватьДополнительныеСвойстваДляПроведения инициализирует общие структуры, используемые при проведении документов. В структуре "ДополнительныеСвойства" создаются свойства с ключами "ТаблицыДляДвижений", "ДляПроведения". "ТаблицыДляДвижений" - структура, которая будет содержать таблицы значений с данными для выполнения движений.  "ДляПроведения" - структура, содержащая свойства и реквизиты документа, необходимые для проведения. Процедура находится в общем модуле ПроведениеСервер.

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

Результат = Запрос.ВыполнитьПакет();

	ТаблицыДляДвижений = ДополнительныеСвойства.ТаблицыДляДвижений;
	// Результат[0] - ВтТаблицаСерииТоваров
	// Результат[1] - ВтТаблицаТовары
	ТаблицыДляДвижений.Вставить("ТаблицаЗаказыПоставщикам",                        Результат[2].Выгрузить());
	ТаблицыДляДвижений.Вставить("ТаблицаТоварыКПоступлению",                       Результат[3].Выгрузить());
	ТаблицыДляДвижений.Вставить("ТаблицаТоварыНаСкладах",                          Результат[4].Выгрузить());

 

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

Следующим шагом производится запись движений в регистры накопления  в процедурах общих модулей ЗаказыСервер, ДоходыИРасходыСервер, ВзаиморасчетыСервер, ДенежныеСредстваСервер, ЗапасыСервер, СкладыСервер,  Ценообразование. Например процедура записи в регистр ТоварыНаСкладах:

Процедура ОтразитьТоварыНаСкладах(ДополнительныеСвойства, Движения, Отказ) Экспорт

	Таблица= ДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаТоварыНаСкладах;
	
	Если Отказ ИЛИ Таблица.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;

	Движения.ТоварыНаСкладах.Записывать = Истина;
	Движения.ТоварыНаСкладах.Загрузить(Таблица);
	
КонецПроцедуры

 

На последнем шаге обработки проведения  в процедуре ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект) производится запись наборов и далее  очистка структуры ДополнительныеСвойства.



            3. Заключение.

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

метод Загрузить()

См. также

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Расчет себестоимости в типовых конфигурациях 1С – для многих «черный ящик», работающий по жестко зашитым в него алгоритмам. Реализация этого «черного ящика» может меняться в зависимости от конкретной конфигурации – УПП, БП 3.0, ERP. Но принцип работы везде одинаковый. Расскажем о том, как устроен расчет себестоимости, как его дорабатывать, и какие методы могут быть эффективны и без доработок.

27.12.2024    10411    Begemoth80    32    

82

СКД Механизмы типовых конфигураций Запросы Программист Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

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

20.08.2024    2234    PROSTO-1C    0    

20

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Россия Бесплатно (free)

Эта ошибка была обнаружена мной в типовой конфигурации 1С:Комплексная автоматизация 2 (2.5.16.115), БСП версия 3.1.9.302. Возникает она после того, как вы добавляете в расширение бизнес-процесс или задачу, выполняете обновление идентификаторов метаданных расширений, но ошибка при записи любого элемента справочника "Профили групп доступа" всё равно остаётся.

01.07.2024    2328    Vidz    0    

12

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

24.06.2024    1344    olja-ljaaa    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. davdykin 25 10.09.13 17:20 Сейчас в теме
Насколько я помню, данный способ рекомендован при сдаче 1С:Специалист по платформе, т.к. является более производительным, по сравнению с построчным заполнением наборов. И я думаю именно поэтому он используется в УТ 11, т.к. с производительностью на УФ большие проблемы.
4. Rothschild 07.02.14 19:44 Сейчас в теме
(1) davdykin,
ну Рарус такой способ использует в своем УАТЕ.
в общем-то это еще со времен, наверное, 8.0 использовалось в том или ином виде.
запросом сформировал нужный движняк,
выгрузил результат в тз и загрузил тз в набор движений регистра.

2. natarezn 17.01.14 13:47 Сейчас в теме
ничего не поняла если честно. а что надо помнить то специалисту?
3. pt_olga 61 07.02.14 18:49 Сейчас в теме
(2) natarezn, специалисту нужно четко помнить имя свое и точный адрес работодателя))
5. Rothschild 07.02.14 19:46 Сейчас в теме
так например поступают модуле набора записей одного регистьра
для "зеркализации" движений регистра в другом регистре
с минимальным изменением таблицы движений.
6. Rothschild 07.02.14 19:47 Сейчас в теме
(0) так что новизна и актуальность материала статьи весьма спорна.
;))))
Оставьте свое сообщение