Что исправить в запросе 1c 8.1?

  • Автор темы ymv
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Y
#1
Запрос помечает на удаление элементы справочника, если остатки или обороты нулевые. или их вообще нет. А мне надо, чтобы помечались, если их ТОЛЬКО ВООБЩЕ НЕТ(остатков и оборотов). Что исправить?

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


СчетаУчетаОС=Новый СписокЗначений;
СчетаУчетаОС.Добавить(Счет1.Ссылка);
СчетаУчетаОС.Добавить(Счет2.Ссылка);
Запрос.УстановитьПараметр("СчетаУчетаОС", СчетаУчетаОС);
Запрос.УстановитьПараметр("НачПериода", НачПериода);
Запрос.УстановитьПараметр("КонПериода", КонПериода);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
ОбъектОС = Выборка.СсылкаОС.ПолучитьОбъект();
ОбъектОС.УстановитьПометкуУдаления(Истина);
КонецЦикла;
 
G

Guest

#2
если их ТОЛЬКО ВООБЩЕ НЕТ(остатков и оборотов).
Рискну предположить, это означает: нужно удалить из базы ОС, которые вообще не использовались в проводках? Тогда и не нужны никакие фильтры по счетам или датам...

ВЫБРАТЬ
ОС.Ссылка КАК СсылкаОС
ИЗ
Справочник.ОсновныеСредства КАК ОС
ГДЕ
(НЕ ОС.Ссылка В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ХозрасчетныйСубконто.Значение
ИЗ
РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
ГДЕ
ХозрасчетныйСубконто.Вид = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)))
 
Статус
Закрыто для дальнейших ответов.