|
v7: Как удалить из операции все проводки?
| ☑ |
0
megabax
28.04.15
✎
13:40
|
Деаю вот так:
Док.ВыбратьПроводки();
пока Док.ПолучитьПроводку()=1 цикл
Док.УдалитьПроводку();
конеццикла;
что то не удаяется, а что то типа УдалитьВсеПроводки ии очистить я что то у операци не вижу.
|
|
1
Новый участник
28.04.15
✎
13:41
|
77? Кажется, сперва надо получить операцию, а у неё выбрать проводки.
|
|
2
megabax
28.04.15
✎
13:43
|
Операция получена. До этого идет вот такой код:
Док = СоздатьОбъект("Операция");
Док.ВыбратьПоЗначению(НачГода(ТекущаяДата()), КонГода(ТекущаяДата()), "Код8", Код8);
если Док.ПолучитьОперацию() > 0 тогда
//ТекДок = Док.ТекущийДокумент();
иначе
Док.Новая();
КонецЕсли;
Док.Код8=Код8;
Док.ВключитьПроводки(0);
Док.Содержание="Реализация товаров №"+Узел.ПолучитьАтрибут("Номер")+" от "+Узел.ПолучитьАтрибут("Дата");
Док.ДатаОперации=Узел.ПолучитьАтрибут("Дата");
Док.СуммаОперации=Узел.ПолучитьАтрибут("Сумма");
|
|
3
ДенисЧ
28.04.15
✎
13:43
|
а кто сказал, что такая функция должна быть?
|
|
4
megabax
28.04.15
✎
13:45
|
(3) Дык логично же что такая функция быть дожна, иначе как удалить все проводки? Вот в документе же есть метод для удаления всех строк ТЧ
|
|
5
ДенисЧ
28.04.15
✎
13:46
|
(4) Если ты такой логичный, то почему до сих пор не работаешь в фирме 1с? ))
|
|
6
шаэс
28.04.15
✎
13:48
|
(0) а на этом код заканчивается?
|
|
7
megabax
28.04.15
✎
13:49
|
(6) Нет, даьше идет вот так:
Док.НоваяПроводка();
Док.Дебет.Счет=СчетПоКоду("62.1");
Док.Дебет.Субконто(1,Контрагент);
Док.Дебет.Субконто(2,Договор);
Док.Кредит.Счет=СчетПоКоду("90.1");
Док.Кредит.Субконто(1,ВидДеятеьности);
Док.Сумма=Узел.ПолучитьАтрибут("Сумма");
Док.ЗаписатьПроводки();
Док.ВключитьПроводки(1);
Док.Записать();
|
|
8
vladko
28.04.15
✎
13:51
|
(0) у тебя через этот алгоритм проводки удаляются через одну. пользуйся другим: Док.ВыбратьПроводки(); Для н = -Док.КоличествоПроводок() По -1 Цикл Док.ПолучитьПроводкуПоНомеру(-н); Док.УдалитьПроводку(); КонецЦикла тогда всё удалиться. Этот же алгоритм можно применять к другим выборкам, например, к табличным частям документов
|
|
9
ale-sarin
28.04.15
✎
13:52
|
Пока Операция.ВыбратьПроводки() = 1 Цикл
Операция.ПолучитьПроводку();
Операция.УдалитьПроводку();
КонецЦикла;
|
|
10
megabax
28.04.15
✎
14:06
|
Что то все равно не помогает. Сдеал даже вот так:
Пока Док.ВыбратьПроводки() = 1 Цикл
Док.ПолучитьПроводку();
Док.УдалитьПроводку();
КонецЦикла;
Док.ЗаписатьПроводки();
и все равно в операции куча одинаковых проводок, оставшихс яот предыдущих загрузок
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший