Имя: Пароль:
1C
 
Как удалить проводку?
0 Мисти
 
13.04.17
20:55
НаборДвижений = Источник.Движения.Хозрасчетный;
    
    Для каждого Проводка из НаборДвижений Цикл
        Если Проводка.СчетДТ.Код = "20.01" и Проводка.Сумма<>0 Тогда

Надо переписать движения документа. Как мне удалить лишнюю проводку?
1 Волшебник
 
модератор
13.04.17
20:58
НаборДвижений.Прочитать()
Сделать мерзость с НаборДвижений
НаборДвижений.Записать()
2 Мисти
 
13.04.17
20:59
После
НаборДвижений.Прочитать()
У меня вообще все движения пропали!
Ну, попробую еще разок.
3 Волшебник
 
модератор
13.04.17
21:00
(2) Дорогу осилит идущий.
4 Мисти
 
13.04.17
21:00
А Проводка.Удалить(); - так пойдет?
5 Волшебник
 
модератор
13.04.17
21:01
(4) бе-е... Ничего не понятно. Нужно знать контекст.
6 Мисти
 
13.04.17
21:03
Не пойдет!
    НаборДвижений.Прочитать();    
    Для каждого Проводка из НаборДвижений Цикл
        Если Проводка.СчетДТ.Код = "20.01" и Проводка.Сумма<>0 Тогда
            Проводка.Удалить();
            //Проводка.Сумма = 0;
            //Проводка.СуммаНУДт = 0;
            //Проводка.СуммаНУКт = 0;
        КонецЕсли;
    КонецЦикла;    
Мне нужно просто убрать ряд проводок вовсе! А остальные - оставить!
7 Мимохожий Однако
 
13.04.17
21:08
Перед методом Прочитать() надо делать ОТБОР. Без отбора выбираются ВСЕ записи
8 Мисти
 
13.04.17
21:21
НаборДвижений = Источник.Движения.Хозрасчетный;
    НаборДвижений.Прочитать();
А в таком случае разве сам собой отбор по Источнику не делается?
9 Волшебник
 
модератор
13.04.17
21:27
(8) Ты проверь в отладчике и нам доложи
10 Мисти
 
13.04.17
21:27
Делается! Это я для поддержания разговора.
11 Мисти
 
13.04.17
21:37
МимохожийОднако, я же стою на этой проводке! Как ее удалить-то?
12 Волшебник
 
модератор
13.04.17
21:42
(11) Думай!
13 Волшебник
 
модератор
13.04.17
21:43
Думай про транзакции и наборы записей
14 Мисти
 
13.04.17
22:22
(13) Спасибо!
15 Мисти
 
13.04.17
22:49
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка);
        НаборЗаписей.Отбор.СчетДТ.Установить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);
        
        НаборЗаписей.Прочитать();


А удалить-то как??
16 Мимохожий Однако
 
13.04.17
22:57
НаборЗаписей.Записать()
17 France
 
13.04.17
23:03
(3) автор топчется. ему нечего осиливать..
18 h-sp
 
13.04.17
23:07
(15) ответ в (1) уже был.
19 Мисти
 
13.04.17
23:10
НаборЗаписей.Отбор.СчетДТ.Установить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство) - вот это она не понимает.
К тому же описано такое -
РегистрБухгалтерииНаборЗаписей.<Имя регистра бухгалтерии> (AccountingRegisterRecordSet.<Имя регистра бухгалтерии>)
Удалить (Delete)
Вариант синтаксиса: По индексу

Синтаксис:

Удалить(<Индекс>)
Параметры:

<Индекс> (обязательный)

Тип: Число.
Позиция записи в наборе.
Вариант синтаксиса: По объекту записи

Синтаксис:

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

<Запись> (обязательный)

Тип: РегистрБухгалтерииЗапись.<Имя регистра бухгалтерии>.
Удаляемая запись.
Описание:

Удаляет запись из набора записей регистра бухгалтерии.

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

Сервер, толстый клиент, внешнее соединение.
--------------------------------------------------------------------------------
20 Волшебник
 
модератор
13.04.17
23:11
(19) Ты тупишь
21 h-sp
 
13.04.17
23:12
(19) наверно

НаборЗаписей.Удалить(Проводка);

если мы тебя правильно поняли.
22 Мисти
 
13.04.17
23:22
(20) Ага.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.