Имя: Пароль:
1C
1С v8
Добавление строки в регистр накопления без перепроведения документа
, ,
0 palladyi
 
11.07.14
09:45
Добрый день! Необходимо при записи документа делать движения по одному регистру. Пытаюсь сделать в обработке проведения - работает. А вставляю вызов процедуры в метод ПриЗаписи - не ругается, но и в регистре новых записей не добавляется. Что я делаю не так? 1с 8.2 УТ 10.3
Вот код:
НаборЗаписи = РегистрыНакопления.ТоварыВРаспродаже.СоздатьНаборЗаписей();
        НаборЗаписи.Отбор.Регистратор.Установить(Документ);
        Запись = НаборЗаписи.ДобавитьРасход();
        Запись.Активность = Истина;
        Запись.ВидДвижения = ВидДвиженияНакопления.Расход;
        Запись.Заказ = Заказ;
        Запись.Количество = Стр.Количество;
        Запись.Номенклатура = Стр.Номенклатура;
        Запись.Регистратор = Документ;        
        Запись.Склад = Склад;
        Запись.Период = Документ.Дата;
        НаборЗаписи.Записать();
1 Maxus43
 
11.07.14
09:45
НаборЗаписи.Отбор.Регистратор.Установить(Документ);
НаборЗаписи.Прочитать();
2 palladyi
 
11.07.14
09:45
происходит все в цикле по перебору строк источника (документ)
3 Maxus43
 
11.07.14
09:46
Запись = НаборЗаписи.Добавить();
4 zak555
 
11.07.14
09:46
(1) читать обязатиелоьно ?
5 palladyi
 
11.07.14
09:46
(1) Ок, сейчас попробую (3) пробовал, нет разницы
6 Maxus43
 
11.07.14
09:48
(4) чтобы добавить, а не удалить старые - очень желательно
7 palladyi
 
11.07.14
09:48
(1) не помогло
8 Maxus43
 
11.07.14
09:49
стоп.
"Необходимо при записи документа делать движения по одному регистру"
ПРИ ЗАПИСИ?
9 palladyi
 
11.07.14
09:49
(6) я сначала удаляю все старые записи по регистратору
10 palladyi
 
11.07.14
09:49
(8) да, в том и проблема
11 Maxus43
 
11.07.14
09:49
В обработке проведения все движения удаляются и по новой делаются
12 Maxus43
 
11.07.14
09:50
(10) неправильная задача в принципе. Не должны доки при записи ничего делать, только себя записывать
13 zak555
 
11.07.14
09:50
(6) а не флаг в метода записать набора этим рулит ?
14 palladyi
 
11.07.14
09:50
(11) А! Спасибо! Сейчас проверю)
15 palladyi
 
11.07.14
09:51
(12) Документ Заказ покупателя - должен при записи делать резерв по распродажному товару, тут в базе все накручено, это самый корректный способ.
16 Maxus43
 
11.07.14
09:51
(13) он тоже, но по умолчанию он - истина. Лучше прочитать и добавить, чтоб не было неождиданных "запись с такими полями уже существует и прочее"
17 Maxus43
 
11.07.14
09:52
(15) значит обходи удаление в обработке проведения.
Чисто при записи непроведённого документа код работает же?
18 palladyi
 
11.07.14
09:53
(11) Ты прав, у меня документ если уже был проведен - при записи перепроводится, в этом и была проблема! Спасибо огромное!
19 palladyi
 
11.07.14
09:53
(17) да)
20 Рэйв
 
11.07.14
09:53
(15)Самый коректный способ- делать все в обработке проведения. А то, что хочешь делать ты- далеко от корреткности
21 palladyi
 
11.07.14
09:53
(20) до проведения документа уже должны быть проводки по этому регистру
22 Maxus43
 
11.07.14
09:56
(21) поидее проведение "Заказа" - и должно отражать факт резерва, с методологией что-то...
23 palladyi
 
11.07.14
09:58
(22) с методологией тут... база переписана в край, причем через одно место. Потихоньку пытаюсь привести в норму, но сделать это резко и быстро нельзя.