Имя: Пароль:
1C
1С v8
Проведение
,
0 berendej
 
12.12.11
17:14
8.2 УФ. Есть документ. Необходимо делать проведение по строкам.
Когда делаю так, то старые записи затираются,остается запись только по последней проведенной строке.

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

       КонецЦикла;
1 YF
 
12.12.11
17:15
"Движения.Регистр.Добавить();" - что это?
2 Ненавижу 1С
 
гуру
12.12.11
17:17
вынеси за цикл

Движения.Регистр.Записать();
3 Wobland
 
12.12.11
17:17
и записывать после цикла надо
4 Wobland
 
12.12.11
17:18
+(3) а можно вообще не говорить Записать(), не помню от чего зависит
5 berendej
 
12.12.11
17:23
Не, вынесение за цикл, ничего не меняет. Я может не совсем правильно выразился, мне в регистр нужно писать только выделенную строку ТЧ. Как только выделяю другую строку и провожу,то запись по первой строке в регистре затирается
6 Wobland
 
12.12.11
17:24
(5) изощренец. исходную задачу давай
7 Defender aka LINN
 
12.12.11
17:25
(5) Какая, нафиг, "текущая строка" на сервере?
8 Buster007
 
12.12.11
17:30
РегистрНакопленияНаборЗаписей.<Имя регистра накопления> (AccumulationRegisterRecordSet.<Имя регистра накопления>)
Записать (Write)
Синтаксис:

Записать(<Замещать>)
Параметры:

<Замещать> (необязательный)

Тип: Булево.
Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям
Значение по умолчанию: Истина
Описание:

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

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

При вызове с параметром <Замещать> равным Ложь после записи в информационную базу набор записей очищается (удаляются записи из набора).
Пример:

// Очистим записи документа, если он был ранее проведен
Если Проведен Тогда
   Рег = РегистрыНакопления.ЗаказыПоставщикам;
   НаборЗаказыПоставщикам  = Рег.СоздатьНаборЗаписей();
   НаборЗаказыПоставщикам.Отбор.Регистратор.Установить(Ссылка);
   НаборЗаказыПоставщикам.Прочитать();
   НаборЗаказыПоставщикам.Очистить();
   НаборЗаказыПоставщикам.Записать();
КонецЕсли;
9 berendej
 
13.12.11
10:36
Набор = РегистрыНакопления.дплОстаткиВЯчейках.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);
Набор.Отбор.Номенклатура.Установить(ТекущаяСтрока.Номенклатура);
Набор.Прочитать();
Набор.Очистить();
Набор.Записать();

   
       Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Набор.Добавить();
 
           Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
               Движение.Период = Дата;
               
               Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
               Движение.Количество = ТекСтрокаТовары.Количество;
               
           КонецЦикла;
           Набор.Записать();
Ругается: поле объекта не обнаружено - номенклатура. Хотя тип передаваемого значения из текущейстроки совпадает с типом в регистре - справочникссылка.номенклатура
10 Defender aka LINN
 
13.12.11
10:46
(9) Что это за пердимонокль?
11 berendej
 
13.12.11
10:55
(10) кто такой пердимонокль?
12 Defender aka LINN
 
13.12.11
10:57
(11) Ну, вот этот вот кусок текста в (9). Что это за хрень вообще?
13 berendej
 
13.12.11
11:07
(12)ааа) ну мне нужно делать проведение только выбранной строки ТЧ, делал через стандартные движения, без набора, так строки в РН просто перезаписывались при выборе и проведении другой строки. Пробую через набор,чтобы оставлять уже имеющиеся записи, для этого использую отбор, но он отказывается видеть номенклатуру почему то или я чего то не понимаю
14 pavig
 
13.12.11
11:13
(0) (13) скорее всего трабла еще на уровне постановки задачи
15 berendej
 
13.12.11
11:21
(14),да не с задачей все в порядке
16 Wobland
 
13.12.11
11:27
(15) >ну мне нужно делать проведение только выбранной строки ТЧ
про групповое проведение слышал?
17 Wobland
 
13.12.11
11:28
в общем, автор, забудь эту ересь, включи голову и подумай, что тебе всё-таки надо
Закон Брукера: Даже маленькая практика стоит большой теории.