Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:12

Удаление строк документа с условием

Автор edves, 12 мар 2014, 13:43

0 Пользователей и 1 гость просматривают эту тему.

edves

Добрый день, нужно удалить строки в документе условие, цена пустая, что то написала но не работает процедура

Mitay_D

1.
УдалитьСтроки();
Синтаксис:
УдалитьСтроки()
Назначение:
Удаляет сразу все строки из многострочной части документа.
//**************************
2.
УдалитьСтроку();
Синтаксис:
УдалитьСтроку()
Назначение:
Удалить текущую строку документа.

пробуй так

Процедура Удаление ();           

Док = СоздатьОбъект("Документ.Товар1") ;
Док.ВыбратьСтроки();

Пока Док.ПолучитьСтроку() = 1 Цикл
Если Док.Цена = 0 Тогда
Док.УдалитьСтроку();
КонецЕсли;
КонецЦикла;

КонецПроцедуры

edves

спасибо за помощь но что то ничего не происходит при выполнении процедуры, строки не удаляются

Mitay_D


Процедура Удаление ();                 
   
   Док = СоздатьОбъект("Документ.Товар1");
Док.ВыбратьДокументы(ДатаНач,ДатаКон); // ДатаНач и ДатаКон реквизиты диалога с типом Дата. Период за который будут обрабатываться документы
Пока Док.ПолучитьДокумент() = 1 Цикл   
Если Док.Проведен() = 0  Тогда // Условие, чтобы не попадали не проведенные или помеченные на удаление документы
Продолжить;
КонецЕсли;
Док.ВыбратьСтроки(); 
Пока Док.ПолучитьСтроку() = 1 Цикл 
Если Док.Цена = 0 Тогда
     Док.УдалитьСтроку();
КонецЕсли;   
КонецЦикла;
Док.Записать(); // Запишем документ
КонецЦикла; 
КонецПроцедуры

теперь разбирайся с удалением. так как он будет удалять не все значения.
Добавлено: 14 мар 2014, 07:34



Процедура Удаление ();
Док = СоздатьОбъект("Документ.Товар1"); 
Док.ВыбратьДокументы(ДатаНач,ДатаКон);   
Пока Док.ПолучитьДокумент() = 1 Цикл   
Если Док.Проведен() = 0  Тогда
Продолжить;
КонецЕсли;
Док.ВыбратьСтроки(); 
Кс = Док.КоличествоСтрок();
Для НС = 0 По КС-1 Цикл
Док.ПолучитьСтрокуПоНомеру(КС - НС);
Если Док.Цена = 0 Тогда
Док.УдалитьСтроку();
КонецЕсли;
Док.Записать();
КонецЦикла; 
КонецЦикла; 
КонецПроцедуры

Это один из способов, как удалять все строки по условию, можешь использовать и другой какой нибудь

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск