Имя: Пароль:
1C
1С v8
Запись таблиц в регистр сведений
0 YurAnt
 
08.07.13
07:14
Доброго времени суток, господа-форумчане.
Хочу записать в регистр сведений таблицу из 10 строк (по 6 столбцов)

Вполне естественно, что запись вида

Движения.РегистрРасчетаЗаработнойПлатыКомУсл.Записывать = Истина;
   Движения.РегистрРасчетаЗаработнойПлатыКомУсл.Очистить();
   Для Каждого ТекСтрокаКомУсл Из КомУсл Цикл
       Движение = Движения.РегистрРасчетаЗаработнойПлатыКомУсл.Добавить();
       Движение.Период = Дата;
       Движение.РасчетЗаработнойПлаты = ЭтотОбъект.Ссылка;
       Движение.КомУслУправление = ТекСтрокаКомУсл.Управление;
       Движение.КомУслЭлектроэнергияОсвещение = ТекСтрокаКомУсл.ЭлектроэнергияОсвещение;
       Движение.КомУслТеплоэнергия = ТекСтрокаКомУсл.Теплоэнергия;
       Движение.КомУслГазПриродный = ТекСтрокаКомУсл.ГазПриродный;
       Движение.КомУслИнтернет = ТекСтрокаКомУсл.Интернет;
       Движение.КомУслСвязь = ТекСтрокаКомУсл.Связь;
       Движение.КомУслСотСвязь = ТекСтрокаКомУсл.СотСвязь;
       Движение.КомУслСпецпитаниеЗаТекМесяц = ТекСтрокаКомУсл.СпецпитаниеЗаТекМесяц;
       Движение.КомУслШтраф = ТекСтрокаКомУсл.Штраф;
       Движение.Итого = ТекСтрокаКомУсл.Итого;
   КонецЦикла;

не прокатит (таблица КомУсл), поскольку все записи а ля
Движение.***** = ТекСтрокаКомУсл.*******;
относятся к 1й строке таблицы, и как только цикл доберется до 2й, вылетит ошибка о том, что такая заапись уже существует
(периодичность регистра 1 месяц)
а поскольку имеется необходимость хранения данных таблицы в разрезе на дату, то вот жумаю как сие можно запилить...

как вариант возможно в цикле формировать строку, и по завершении цикла записывать её в регистр, но почему-то кажется немного бредово...
поскольку строка вида:
"1строка реквизит1 рекв2 рекв3... 2строка рекв1 рекв2 ... N-строка рекв1 рекв2..."
не есть комильфо и парсить её потом отдельный гемморой.

Подскажите можно ли как-то решить данную проблему иным способом.

С ув. YurAnt/
1 Живой Ископаемый
 
08.07.13
07:18
почему естественно? потому что все остальные измерения одинаковые? а зачем тогда записывать 9 строк? чтобы наверняка?
2 playmaker
 
08.07.13
07:21
Измерения-то какие?
3 kosts
 
08.07.13
07:23
(0) >в цикле формировать строку, и по завершении цикла записывать её в регистр
Не вздумай, за такое положен пожизненный эцих с гвоздями.
4 kosts
 
08.07.13
07:26
(0) Если измерения, ну никак, нельзя выделить, но таблицу необходимо сохранить в регистре, то можно добавить измерение "НПП". Хотя это решение тоже не считаю идеальным, но хоть что-то.
5 YurAnt
 
08.07.13
07:28
(1) Живой Ископаемый, прошу прощения но немного не понял вопроса...
есть 10 подразделений (строк)
столбцы - статьи расходов (грубо говоря)
собственно это я и описал.
(2) Движение.РасчетЗаработнойПлаты - Измерение стр типа,
остальные - ресурсы типа число. (если вы об этом)
6 YurAnt
 
08.07.13
07:32
(4) Подскажите тогда каким образом добавление измерения позволит избежать ошибки ?
насколько понимаю при добавлении записи регистра при проверке уникальности учитывается а) дата б) номер записи.
В моем случае если нужно внести 10 строк в регистр с периодом в месяц (я не могу понять как меня это спасет)

Думал о создании кол-ва регистров на каждую строку (т.е. фиксировано скажем 10 шт.) и по ним раскидывать, но тоже как-то не оч хорошо.
7 vicof
 
08.07.13
07:33
(5) "Измерение стр типа". Жестко. И ты ему ссылку присваиваешь?
(5) Почитай про регистры, зачем они, зачем нужны измерения.
8 kosts
 
08.07.13
07:36
Подумай об измерении "ВидКомУсл"
9 Живой Ископаемый
 
08.07.13
07:36
2(5) тогда почему олжно сказать что запись с такими ключевыми полями существует? Потому что подразделение не измерение а ресурс или реквизит?
10 Живой Ископаемый
 
08.07.13
07:37
2(6) нет, ты понимаешь неправильно уникальной считается комбинация всех измерений (период тоже измерение)
11 YurAnt
 
08.07.13
07:40
(10) Вот даже как ?! Вот это действительно поворот)
тут честно скажу не доглядел...
т.е. достаточно забить в цикл заполнение дополнительного измерения, скажем, "Подразделение"
и оно взлетит ?
12 YurAnt
 
08.07.13
07:41
Если это действительно так, то спасибо вам, Живой Ископаемый.
Сейчас попробую запилить.
Основная теорема систематики: Новые системы плодят новые проблемы.