Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 23:46
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Удаление строк документа с условием  (Прочитано 4613 раз)

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

Оффлайн edves

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-03-12
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день, нужно удалить строки в документе условие, цена пустая, что то написала но не работает процедура


Оффлайн Mitay_D

  • **
  • Сообщений: 85
  • РЕПУТАЦИЯ: 14
  • КПД: 16%
  • Регистрация: 2011-02-02
  • Сайт: 
  • Профессия: Программист 7.7
1.
УдалитьСтроки();
Синтаксис:
УдалитьСтроки()
Назначение:
Удаляет сразу все строки из многострочной части документа.
//**************************
2.
УдалитьСтроку();
Синтаксис:
УдалитьСтроку()
Назначение:
Удалить текущую строку документа.

пробуй так
Процедура Удаление ();  	          	

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

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

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

Оффлайн edves

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-03-12
  • Сайт: 
  • Профессия: Ученик 1С
спасибо за помощь но что то ничего не происходит при выполнении процедуры, строки не удаляются

Оффлайн Mitay_D

  • **
  • Сообщений: 85
  • РЕПУТАЦИЯ: 14
  • КПД: 16%
  • Регистрация: 2011-02-02
  • Сайт: 
  • Профессия: Программист 7.7
Процедура Удаление ();                  
   
   Док = СоздатьОбъект("Документ.Товар1");
Док.ВыбратьДокументы(ДатаНач,ДатаКон); // ДатаНач и ДатаКон реквизиты диалога с типом Дата. Период за который будут обрабатываться документы
Пока Док.ПолучитьДокумент() = 1 Цикл   
Если Док.Проведен() = 0  Тогда // Условие, чтобы не попадали не проведенные или помеченные на удаление документы
Продолжить;
КонецЕсли;
Док.ВыбратьСтроки(); 
Пока Док.ПолучитьСтроку() = 1 Цикл 
Если Док.Цена = 0 Тогда
     Док.УдалитьСтроку();
КонецЕсли;   
КонецЦикла;
Док.Записать(); // Запишем документ
КонецЦикла; 
КонецПроцедуры
теперь разбирайся с удалением. так как он будет удалять не все значения.
Добавлено: 14 Мар 2014, 07:34

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

Последний раз редактировалось: Mitay_D; 14 Мар 2014, 07:34. Причина: Объединение сообщений


Теги:
 


* Живое общение

Не устроил ответ?

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


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
41 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 298
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal