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

Запрет на движения документа по условию в запросе

Автор Hit08, 24 июл 2018, 09:26

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

Hit08

Добрый день. Есть запрос для формирования таблицы РН Продажи для документа ЗаказПокупателя. Прилагаю часть текста запроса:

ГДЕ
      |   ВременнаяТаблицаШапка.ЭтоСостояниеВыполненияЗаказНаряда = ИСТИНА
      |   И ВременнаяТаблицаШапка.ВариантЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВариантыЗавершенияЗаказа.Отменен)
      |   И &Гарантия
      |
      |СГРУППИРОВАТЬ ПО
      |   ТаблицаПродажи.Финиш,
      |   ТаблицаПродажи.Организация,
      |   ТаблицаПродажи.Номенклатура,
      |   ТаблицаПродажи.Характеристика,
      |   ТаблицаПродажи.Партия,
      |   ТаблицаПродажи.ЗаказПокупателя,
      |   ТаблицаПродажи.Документ,
      |   ТаблицаПродажи.СтавкаНДС,
      |   ТаблицаПродажи.СтавкаНСП,
      |   ТаблицаПродажи.ПодразделениеПродажи,
      |   ТаблицаПродажи.Ответственный";
      
      Запрос.УстановитьПараметр("Гарантия", ДокументСсылкаЗаказПокупателя.Гарантия);
            
      РезультатЗапроса = Запрос.Выполнить();
             
      СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаПродажи", РезультатЗапроса.Выгрузить());

Моя задача: сделать условие, при котором Если НЕ Гарантия, то движения по данному РН Продажи для этого документа записываются как обычно. Если Гарантия = Движения по РН Продажи для документа ЗаказПокупателя не пишутся.

Пробовал сделать следующее - Если НЕ Гарантия Тогда
                             РезультатЗапроса = Запрос.Выполнить();
             
      СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаПродажи",РезультатЗапроса.Выгрузить()); Но нужного результата это не принесло. Прошу вашей помощи, с уважением, Андрей.

Alex26

Цитата: Hit08 от 24 июл 2018, 09:26ГДЕ
      |   ВременнаяТаблицаШапка.ЭтоСостояниеВыполненияЗаказНаряда = ИСТИНА
      |   И ВременнаяТаблицаШапка.ВариантЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВариантыЗавершенияЗаказа.Отменен)
      |   И &Гарантия
а что такое гарантия? ВременнаяТаблицаШапка.Гарантия = &Гарантия или это ТаблицаПродажи.Гарантия = &Гарантия ? по такому условию у вас всегда будет пустой запрос приходить, условие правильно задайте

Hit08

Цитата: Alex26 от 24 июл 2018, 12:59
Цитата: Hit08 от 24 июл 2018, 09:26ГДЕ
      |   ВременнаяТаблицаШапка.ЭтоСостояниеВыполненияЗаказНаряда = ИСТИНА
      |   И ВременнаяТаблицаШапка.ВариантЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВариантыЗавершенияЗаказа.Отменен)
      |   И &Гарантия
а что такое гарантия? ВременнаяТаблицаШапка.Гарантия = &Гарантия или это ТаблицаПродажи.Гарантия = &Гарантия ? по такому условию у вас всегда будет пустой запрос приходить, условие правильно задайте

Добрый вечер. Гарантия - это Булево, при изменении значения которого меняется поведение документа. Проблему решил, разобрался. В запросе добавил условие - НЕ &Гарантия. И все отработало как нужно. Гарантия в данном запросе не привязана ни к одной из таблиц, она определяется в Запрос.УстановитьПараметр("Гарантия", ДокументСсылкаЗаказПокупателя.Гарантия.

AIFrame

Цитата: Hit08 от 25 июл 2018, 07:40Гарантия - это Булево

Цитата: Hit08 от 25 июл 2018, 07:40НЕ &Гарантия

Глупость получилась.

Если НЕ ДокументСсылкаЗаказПокупателя.Гарантия Тогда
    СтруктураДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаПродажи", РезультатЗапроса.Выгрузить());
КонецЕсли;

Теги:

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

Рейтинг@Mail.ru

Поиск