Имя: Пароль:
1C
1С v8
Как записать опр. значение в каждую строку столбца Регистра Накопления
0 Adgjj
 
17.01.12
13:35
Скажите, пжл, Как записать опр. значение в каждую строку столбца Регистра Накопления?
может кто-то недавно подобное делал и есть код.
1 Гот
 
17.01.12
13:36
Движение.Загрузить( :)
2 Adgjj
 
17.01.12
13:37
НаборЗаписей = РегистрыНакопления.ВыработкаТС_Лес.СоздатьНаборЗаписей();
//НаборЗаписей.Отбор.Регистратор.Установить(Документ);

НаборЗаписей.День = Перечисления.День.Будний;
НаборЗаписей.Записать();

ТаблицаДвижений = НаборЗаписей.Выгрузить();

наверно так
3 Adgjj
 
17.01.12
13:40
НаборЗаписей = РегистрыНакопления.ВыработкаТС_Лес.СоздатьНаборЗаписей();
НаборЗаписей.День = Перечисления.День.Будний;
НаборЗаписей.Записать();

День - это реквизит. пишет, что не найден
4 Adgjj
 
17.01.12
13:41
Значение день надо записать не из документа, из к-рого формируется регистр, а Перечисления.День.Будний
5 Adgjj
 
17.01.12
13:42
НаборЗаписей = РегистрыНакопления.ВыработкаТС_Лес.СоздатьНаборЗаписей();
//НаборЗаписей.Отбор.Регистратор.Установить(Документ);
НаборЗаписей.Отбор.Регистратор.Значение.День = Перечисления.День.Будний;
НаборЗаписей.Записать();

поле объекта не доступно для записи
6 Homer
 
17.01.12
13:43
КурсыВалют = РегистрыСведений.КурсыВалют;
НаборКурсов = КурсыВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
НаборКурсов.Отбор.Валюта.Установить(Доллар);
НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДата()));
НаборКурсов.Прочитать();
Если НаборКурсов.Количество() = 0 Тогда
   НовыйКурс = НаборКурсов.Добавить();
   НовыйКурс.Валюта = Доллар;
   НовыйКурс.Период = ТекущаяДата();
ИначеЕсли НаборКурсов.Количество() = 1 Тогда
   НовыйКурс = НаборКурсов[0];
Иначе
   Текст = "ru = ""Курс валюты задается один раз в день."";"
    + " en = ""Rate is set once a day.""";
   Предупреждение(НСтр(Текст), 60);
   Возврат;
КонецЕсли;
НовыйКурс.Курс = 31.44;
НовыйКурс.Кратность = 1;
НаборКурсов.Записать();
Сообщить(НСтр(ru = ""Курс ""; en = ""Rate "")
   + СокрЛП(НовыйКурс.Валюта)
   + НСтр(ru = "" на сегодня: "+"; en = "" for today: "")
   + НовыйКурс.Курс + НСтр(ru = "" руб.""; en = "" roub."""));
7 Adgjj
 
17.01.12
13:43
понятно что не доступно, как же в столбец регистра записать значение?
8 hhhh
 
17.01.12
13:46
(7) в каждую запись регистра надо писать. Лучше бы вам специалиста какого-нибудь позвать. А то вы сейчас там базу обрушите.
9 cw014
 
17.01.12
13:47
ДокументОбъект = Документ.ПолучитьОбъект();
Движение = ДокументОбъект.Движения.ВыработкаТС_Лес;
Движение.Прочитать();

Для Каждого СтрокаДвижения Из Движение Цикл
   Движение.День = Перечисления.День.Будний;
КонецЦикла;

Движение.Записать();
10 Adgjj
 
17.01.12
13:47
отбор только по регистратору! а как же по дню?
НаборЗаписей.Отбор.День.Установить(Перечисления.День.Будний);

видимо СоздатьНаборЗаписей не годится?
11 Adgjj
 
17.01.12
13:48
(9) делаю внешней обработкой
12 cw014
 
17.01.12
13:49
Если "День" - это реквизит - отбором не получится. Бери мой пример и в цикле делай проверку:

Для Каждого СтрокаДвижения Из Движение Цикл
   Если Движение.День = ПроверочныйДень Тогда
       Движение.День = Перечисления.День.Будний;
   КонецЕсли;
КонецЦикла;
13 cw014
 
17.01.12
13:50
(11) И что? Объект ты можешь откуда угодно получить
14 Adgjj
 
17.01.12
13:51
(12) зачем мне документ? хотелось бы пробежаться по всем-всем строкам регистра и в них занести одно и то же значения дня: Перечисления.День.Будний
15 cw014
 
17.01.12
13:52
(14) Если без отбора тогда:

НаборЗаписей = РегистрыНакопления.ВыработкаТС_Лес.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();

Для Каждого Запись Из НаборЗаписей Цикл
   Запись.День = Перечисления.День.Будний;
КонецЦикла;
НаборЗаписей.Записать();
16 Adgjj
 
17.01.12
13:53
(15) ошибка записи: не установлен отбор по рег-тору
17 Adgjj
 
17.01.12
13:54
неужели нельзя пробежаться по строкам регистра как по строкам таблицы значений?
18 hhhh
 
17.01.12
13:55
(17) о сколько нам открытий чудных готовят просвещенья дух. (С) А.С.Пушкин.
19 cw014
 
17.01.12
13:55
(17) Выбери запросом различные документы, по которым висят записи. А потом в цикле-в цикле