Загрузка данных из таблицы значений в регистр сведений В документе есть табличная часть вида
№ Инвентарная группа Январь Февраль Март Апрель ... и т.д.
1 Бумага 150 175 130 140 ...
1 Кантовары 50 15 30 27 ...
1 Хозтовары 10 29 37 60 ...
Нужно выгрузить табличную часть документа в Таблицу значений и загрузить в регистр сведений
Период Дата Подразделение Инвентарная группа Количество
01.01.2010 01.01.2010 Хоз. Отдел Бумага 150
01.01.2010 02.01.2010 Хоз. Отдел Бумага 175
01.01.2010 03.01.2010 Хоз. Отдел Бумага 130
...........................
01.01.2010 01.01.2010 Хоз. Отдел Кантовары 50
01.01.2010 02.01.2010 Хоз. Отдел Кантовары 15
01.01.2010 03.01.2010 Хоз. Отдел Кантовары 30
.....
и т.д
вот примерный код:
Код 1C v 8.х ТЗ = Новый ТаблицаЗначений;
ТЗ = СписокИнвентарныхГрупп.Выгрузить();
СчетчикКолонок = 2;
СчетчикСтрок = 0;
Пока СчетчикСтрок < СписокИнвентарныхГрупп.Количество()Цикл
Пока СчетчикКолонок<=13 Цикл
НаборДанных = РегистрыСведений.ЛимитыИнвентаря.СоздатьНаборЗаписей();
НаборДанных.Отбор.ИнвентарнаяГруппа.Установить(ТЗ[СчетчикСтрок][1]);
НаборДанных.Отбор.Подразделение.Установить(ПОдразделение);
НаборДанных.Отбор.Дата.Установить(ДобавитьМесяц(НачалоГода(Период),СчетчикКолонок-2));
НаборДанных.Прочитать();
Если НаборДанных.Количество() = 0 Тогда
Запись = НаборДанных.Добавить();
Иначе
Запись = НаборДанных[0];
КонецЕсли;
Запись.Подразделение = Подразделение;
Запись.ИнвентарнаяГруппа = ТЗ[СчетчикСтрок][1];
Запись.Дата = ДобавитьМесяц(НачалоГода(Период),СчетчикКолонок-2);
Запись.Количество = ТЗ[СчетчикСтрок][СчетчикКолонок+1];
Запись.Период = Период;
НаборДанных.Записать();
СчетчикКолонок = СчетчикКолонок+1;
КонецЦикла;
СчетчикСтрок = СчетчикСтрок+1;
СчетчикКолонок = 2;
КонецЦикла;
Категория:
Регистры сведений Функция месяц прописью Код 1C v 8.х // пример от glory01
А = Формат('20020820153309', "ДФ=ММММ")
// А = "Август"
А = Формат(ТекущаяДата(), "ДФ=ММММ")
// А = "Март"
Код 1C v 7.x Функция МесяцПрописью(НомерМесяца) Экспорт
НомерМесяца=Число(НомерМесяца);
Если НомерМесяца = 1 Тогда
Возврат "Январь";
ИначеЕсли НомерМесяца = 2 Тогда
Возврат "Февраль";
ИначеЕсли НомерМесяца = 3 Тогда
Возврат "Март";
ИначеЕсли НомерМесяца = 4 Тогда
Возврат "Апрель";
ИначеЕсли НомерМесяца = 5 Тогда
Возврат "Май";
ИначеЕсли НомерМесяца = 6 Тогда
Возврат "Июнь";
ИначеЕсли НомерМесяца = 7 Тогда
Возврат "Июль";
ИначеЕсли НомерМесяца = 8 Тогда
Возврат "Август";
ИначеЕсли НомерМесяца = 9 Тогда
Возврат "Сентябрь";
ИначеЕсли НомерМесяца = 10 Тогда
Возврат "Октябрь";
ИначеЕсли НомерМесяца = 11 Тогда
Возврат "Ноябрь";
ИначеЕсли НомерМесяца = 12 Тогда
Возврат "Декабрь";
Иначе
Возврат "";
КонецЕсли;
конецфункции
Категория:
Работа с Датами (Временем)