Имя: Пароль:
1C
1С v8
Запрос договоры
0 1CVERYGOOD
 
26.05.14
13:20
БП 2.0. Подскажите как по красивому отобрать договоры, по которым нет документов.
1 ДенисЧ
 
26.05.14
13:21
запросом....
2 1CVERYGOOD
 
26.05.14
13:22
Перебирать все документы и проверять реквизит договор ?
3 dj_serega
 
26.05.14
13:23
(2) так не во всех же документах есть реквизит Договор с нужным типом.
4 lordmb
 
26.05.14
13:24
(0) соединить в запросе справочник с регистром Хозрасчетный
5 Cube
 
26.05.14
13:24
(2) По регистрам... Единственное, если будут непроведенные документы... Но не думаю, что таких будет много.
6 1CVERYGOOD
 
26.05.14
13:25
Нашел вот такую штуку:

Запрос=Новый Запрос ;
Запрос.Текст = "ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ" ;
ТЗ=Запрос.Выполнить().Выгрузить();

Для Каждого Договор из ТЗ Цикл
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДокументыПоДоговоруКонтрагента.Ссылка
|ИЗ
| КритерийОтбора.ДокументыПоДоговоруКонтрагента(&договор) КАК ДокументыПоДоговоруКонтрагента" ;
Запрос.УстановитьПараметр("договор", Договор.ссылка);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
ОбъектД = Договор.ссылка.ПолучитьОбъект();
Попытка
ОбъектД.УстановитьПометкуУдаления(Истина);
сообщить(строка(ОбъектД)+" помечен на удаление ");
Исключение
Сообщить("не удалось удалить: " +строка(ОбъектД));
КонецПопытки;

КонецЕсли;
ОбработкаПрерыванияПользователя();
КонецЦикла;
7 FIXXXL
 
26.05.14
22:06
(6) только запрос в цикле не надо
суй в параметр запроса список договоров и сравнение "В"
или прямо первый запрос в условие отбора и сравнение "В"