Всем привет!
Перейду сразу к делу...
Как программно определить факт проведения документа? Т.е. он записан и проведен или только записан, но не проведен?
Вот код в котором все с комментарием где это нужно:
&НаСервере
Процедура УдалитьДоументыПоказаний_ОбъектПериод(ОбъектПринадлежностиКОД,ОтчетныйМесяц)
// Ставим пометку на удаление
ВыборкаДокументов = Документы.ТочкаУчетаПоказания.Выбрать();
//=================================================
Пока ВыборкаДокументов.Следующий() Цикл
ДокВыборки = ВыборкаДокументов.ПолучитьОбъект();
//-------------------------------------------------
//ЗДЕСЬ НУЖЕНО ОПРЕДЕЛИТЬ ДОКУМЕНТ ПРОВЕДЕН ИЛИ НЕТ!
//КАК ЭТО СДЕЛАТЬ?
//НИГДЕ НЕ НАШЕЛ ИНФУ ОБ ЭТОМ... ПОЭТОМУ ОПЯТЬ ПРИХОДИТЬСЯ МЕТОДОМ ТЫКА.. КАК ЭТОТ ВАРИАНТ:
//Если ДокВыборки.Проведение=Ложь; Тогда знДокументПроведен="Нет"; КонецЕсли;
//КОТОРЫЙ НЕ РАБОТАЕТ! :):) ИНОГДА ПОПАДАЛ, А НА ЭТОТ РАЗ НЕТ! :):)
//-------------------------------------------------
ДокВыборки_ОбъектПринадлКод = ДокВыборки.ОбъектПринадлКод;
ДокВыборки_ОтчПериодМесяц=ДокВыборки.ОтчетныйПериодМесяц;
//-------------------------------------------------
Если знДокументПроведен="Нет" и ДокВыборки_ОбъектПринадлКод=ОбъектПринадлежностиКОД и ДокВыборки_ОтчПериодМесяц=ОтчетныйМесяц Тогда
ДокВыборки.УстановитьПометкуУдаления(Истина);
ДокВыборки.Записать();
ДокВыборки.Удалить();
КонецЕсли;
//-------------------------------------------------
КонецЦикла;
//=================================================
КонецПроцедуры
Если ДокВыборки.Проведен Тогда
Vofka @ Сегодня, 13:05
,
Спасибо!
Быстро и коротко и ясно!
Супер сайт! Реакция моментальная!
Поэтому спасибо и этому сайту!
Gigi @ Сегодня, 13:15
,
Похоже Вы не знаете что такое "Точка останова" и "Вычислить выражение". Советую ознакомится и жить станет легче.
Пардон. Не заметил, что процедура на сервере
&НаСервере
Процедура УдалитьДоументыПоказаний_ОбъектПериод(КонфигуратЭлемент,ОбъектПринадлежностиКОД,ОтчетныйМесяц)
// Ставим пометку на удаление
ВыборкаДокументов = Документы[КонфигуратЭлемент].Выбрать();
//=================================================
Пока ВыборкаДокументов.Следующий() Цикл
ДокВыборки = ВыборкаДокументов.ПолучитьОбъект();
//-------------------------------------------------
ДокВыборки_ОбъектПринадлКод = ДокВыборки.ОбъектПринадлКод;
ДокВыборки_ОтчПериодМесяц=ДокВыборки.ОтчетныйПериодМесяц;
//-------------------------------------------------
Если ДокВыборки.Проведен=Ложь и ДокВыборки_ОбъектПринадлКод=ОбъектПринадлежностиКОД и ДокВыборки_ОтчПериодМесяц=ОтчетныйМесяц Тогда
//Сообщить(ДокВыборки_ОтчПериодМесяц+" -- "+ДокВыборки);
ДокВыборки.УстановитьПометкуУдаления(Истина); // Пометка на удаление
ДокВыборки.Записать();
ДокВыборки.Удалить(); // Удаление
КонецЕсли
//-------------------------------------------------
КонецЦикла;
//=================================================
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua