helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Добавление в набор сторно-записей

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

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

Код 1C v 8.х
 // Добавить сторно-записи в набор и в табличную часть.
Процедура ДобавитьСтрокуСторноОсновныхНачислений(ДанныеСтроки,
НаборЗаписей, ТабличнаяЧасть = Неопределено)
Движение = НаборЗаписей.Добавить();
// Предопределенные поля.
Движение.ПериодРегистрации = ДанныеСтроки.ПериодРегистрацииСторно;
Движение.ПериодДействияНачало = ДанныеСтроки.ПериодДействияНачалоСторно;
Движение.ПериодДействияКонец = ДанныеСтроки.ПериодДействияКонецСторно;
Движение.ВидРасчета = ДанныеСтроки.ВидРасчета;
Движение.Сторно = Истина;
// Измерения.

Движение.ФизЛицо = ДанныеСтроки.ФизЛицо;

Движение.Организация = ДанныеСтроки.Организация;
// Реквизиты.
Движение.ГрафикРаботы = ДанныеСтроки.ГрафикРаботы;
Движение.Размер = ДанныеСтроки.Размер;
Движение.ВидУчетаВремени = ДанныеСтроки.ВидУчетаВремени;
Движение.Подразделение = ДанныеСтроки.Подразделение;
Движение.СтатьяЗатрат = ДанныеСтроки.СтатьяЗатрат;
Если Не ТабличнаяЧасть = Неопределено Тогда
НоваяСтрока = ТабличнаяЧасть.Добавить();
НоваяСтрока.ФизЛицо = ДанныеСтроки.ФизЛицо;
НоваяСтрока.ВидРасчета = ДанныеСтроки.ВидРасчета;
НоваяСтрока.ДатаНачало = ДанныеСтроки.ПериодДействияНачалоСторно;
НоваяСтрока.ДатаКонец = ДанныеСтроки.ПериодДействияКонецСторно;
НоваяСтрока.Размер = ДанныеСтроки.Размер;
НоваяСтрока.Подразделение = ДанныеСтроки.Подразделение;
НоваяСтрока.Сторно = Истина;
КонецЕсли;
КонецПроцедуры // ДобавитьСтрокуСторноОсновныхНачислений
// Процедура расчета основных начислений.
Процедура РассчитатьОсновныеНачисления() Экспорт
НачатьТранзакцию();
// Сформировать набор записей.
// …
// Сформировать таблицу сторно-записей.
ТаблицаСторно = НаборОсновныеНачисления.ПолучитьДополнение();
// Добавить сторно-записи в набор.
Для Каждого СтрокаСторно из ТаблицаСторно Цикл
ДобавитьСтрокуСторноОсновныхНачислений(СтрокаСторно,
НаборОсновныеНачисления,
ОсновныеНачисления);
КонецЦикла;

// …
ЗафиксироватьТранзакцию();
КонецПроцедуры // РассчитатьОсновныеНачисления


При формировании сторно-записей данные всех измерений и реквизитов записи указаны в строке дополнения. Также в этой строке содержатся данные о периоде регистрации и периоде действия сторно-записи. Ресурсы сторно-записи не заполняются, так как запись будет рассчитана в общем порядке
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 11100
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За
Библиотека кода: Сравнить две таблицы значений 0
//Сравнивает две таблицы значений // Функция ТаблицыЗначенийРавны(ТаблицаЗначений1, ТаблицаЗначений2) Экспорт Если ТипЗнч(ТаблицаЗначений1) Тип("ТаблицаЗначений") ИЛИ ТипЗнч(ТаблицаЗначений2) Тип("ТаблицаЗначений") Тогда Возв
В чем разница между ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ в языке запросов 1С 12
Цитата из справки 1С: " По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные РАЗНЫМИ запросами, заменяются одной . Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое
Внешние источники данных 0
Почему данная возможность вызывает такой интерес? Любой человек, который программировал в 1С при этом достаточно неплохо знаком с SQL и хотя бы в общих чертах знаком с архитектурой и принципами разработки других технологических платформ для бизнес пр
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.