Доброго времени суток, уважаемые эксперты!
Прошу подсказать как обойти Проверку в запросе – есть Упаковки у данной номенклатуры и коэффициент (кол-во ШТ в УПаковке), при проведении ругается запрос на проверку Кол-ва ШТ в УПаковке. Хотя в справочнике и в документах, подчиненных при продаже всё правильной указанно и Кол-Во, и Упаковки…. Запрос самописный, может как-то можно убрать проверку для коэффициентов ? Очень прошу вашей помощи, а то при возникновение проверки, приходится через Отладчик проводить (Отказ = Ложь)
Прошу подсказать как обойти Проверку в запросе – есть Упаковки у данной номенклатуры и коэффициент (кол-во ШТ в УПаковке), при проведении ругается запрос на проверку Кол-ва ШТ в УПаковке. Хотя в справочнике и в документах, подчиненных при продаже всё правильной указанно и Кол-Во, и Упаковки…. Запрос самописный, может как-то можно убрать проверку для коэффициентов ? Очень прошу вашей помощи, а то при возникновение проверки, приходится через Отладчик проводить (Отказ = Ложь)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура,
| РеализацияТоваровУслугТовары.ЗаказПокупателя,
| ВЫБОР
| КОГДА ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) - РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Коэффициент < 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Запрет
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(&Период, ) КАК ЗаказыПокупателейОстатки
| ПО РеализацияТоваровУслугТовары.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
| И РеализацияТоваровУслугТовары.ЗаказПокупателя = ЗаказыПокупателейОстатки.ЗаказПокупателя
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка = &Ссылка
| И РеализацияТоваровУслугТовары.СпособСписанияОстаткаТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыСписанияОстаткаТоваров.ИзРезерва)
|
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслугТовары.Номенклатура,
| РеализацияТоваровУслугТовары.ЗаказПокупателя,
| ВЫБОР
| КОГДА ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) - РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Коэффициент < 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Период", Ссылка.Дата);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Запрет Тогда
Сообщить("Ошибка! слишком много по заказу покупателя: " + Выборка.Номенклатура.Артикул + " - " + Выборка.Номенклатура, СтатусСообщения.Важное);
Отказ = Истина;
КонецЕсли;
КонецЦикла;
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) подскажите пожалуйста, тогда какой вариант ещё есть? чтобы избегать
("Ошибка! слишком много по заказу покупателя: " + Выборка.Номенклатура.Артикул + " - " + Выборка.Номенклатура, СтатусСообщения.Важное);
Ведь всё верно по Заказу и по Реализации верное кол-во ШТ в упаковке... Как лучше исправить ошибку? Заранее благодарен за совет
("Ошибка! слишком много по заказу покупателя: " + Выборка.Номенклатура.Артикул + " - " + Выборка.Номенклатура, СтатусСообщения.Важное);
Ведь всё верно по Заказу и по Реализации верное кол-во ШТ в упаковке... Как лучше исправить ошибку? Заранее благодарен за совет
И РеализацияТоваровУслугТовары.СпособСписанияОстаткаТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыСписанияОстаткаТоваров.ИзРезерва)
|
можно указать в документе что товар списывается не из резерва, и тогда проверки не будет
(12) ругается сообщением что Товара одновременно слишком много и слишком мало... Отладчиком падаю на два запроса... Запрос как то косячно выдаёт ошибку проверки... Я вот думаю может как то можно было сделать мягкую ПроверкуПроведения? Но тут же опять Резервы, остатки...
Вот второй запрос
Вот второй запрос
Процедура ПроверитьНаличияРезерваПодИсточник(Ссылка, Отказ, РеквизитИсточника) ЭКСПОРТ
Если Ссылка.дата > Дата("20150101") Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Док.Номенклатура,
| Док.СерияНоменклатуры,
| Док." + ?(Ссылка.Метаданные().Имя = "_КорректировкаРезерва", "Ссылка." + РеквизитИсточника, "ЗаказПокупателя") + " КАК ЗаказПокупателя,
| СУММА( " + ?(Ссылка.Метаданные().Имя = "_КорректировкаРезерва", "Док.НовоеКоличество)", "Док.Количество * Док.Коэффициент)") + " КАК КоличествоОтгрузка,
| Док.ХарактеристикаНоменклатуры
|ПОМЕСТИТЬ ВТ_Отгрузка
|ИЗ
| Документ." + ?(Ссылка.Метаданные().Имя = "_КорректировкаРезерва", "_КорректировкаРезерва.ТоварыВРезерве", "РеализацияТоваровУслуг.Товары") + " КАК Док
|ГДЕ
| Док.Ссылка = &Ссылка
| " + ?(Ссылка.Метаданные().Имя = "_КорректировкаРезерва", "", "И Док.СпособСписанияОстаткаТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыСписанияОстаткаТоваров.ИзРезерва)")
+ "
|СГРУППИРОВАТЬ ПО
| Док.Номенклатура,
| Док.СерияНоменклатуры,
| Док." + ?(Ссылка.Метаданные().Имя = "_КорректировкаРезерва", "Ссылка." + РеквизитИсточника, "ЗаказПокупателя") +",
| Док.ХарактеристикаНоменклатуры
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТоварыВРезервеНаСкладахОстатки.Номенклатура,
| ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
| ТоварыВРезервеНаСкладахОстатки.ДокументРезерва,
| ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры,
| СУММА(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
|ПОМЕСТИТЬ ВТ_РезервыСделки
|ИЗ
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ДокументРезерва = &Сделка) КАК ТоварыВРезервеНаСкладахОстатки
|
|СГРУППИРОВАТЬ ПО
| ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
| ТоварыВРезервеНаСкладахОстатки.Номенклатура,
| ТоварыВРезервеНаСкладахОстатки.ДокументРезерва,
| ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВТ_Отгрузка.Номенклатура,
| ВТ_Отгрузка.СерияНоменклатуры,
| ВТ_Отгрузка.ЗаказПокупателя,
| ЕСТЬNULL(ВТ_РезервыСделки.КоличествоОстаток, 0) - ВТ_Отгрузка.КоличествоОтгрузка КАК ОстаткиКОтгрузки
|ПОМЕСТИТЬ ВТ_АнализВыполнение
|ИЗ
| ВТ_Отгрузка КАК ВТ_Отгрузка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РезервыСделки КАК ВТ_РезервыСделки
| ПО ВТ_Отгрузка.Номенклатура = ВТ_РезервыСделки.Номенклатура
| И ВТ_Отгрузка.СерияНоменклатуры = ВТ_РезервыСделки.СерияНоменклатуры
| И ВТ_Отгрузка.ЗаказПокупателя = ВТ_РезервыСделки.ДокументРезерва
| И ВТ_Отгрузка.ХарактеристикаНоменклатуры = ВТ_РезервыСделки.ХарактеристикаНоменклатуры
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВТ_АнализВыполнение.Номенклатура,
| ВТ_АнализВыполнение.СерияНоменклатуры,
| ВТ_АнализВыполнение.ЗаказПокупателя,
| ВЫБОР
| КОГДА ВТ_АнализВыполнение.ОстаткиКОтгрузки < 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Запрет
|ИЗ
| ВТ_АнализВыполнение КАК ВТ_АнализВыполнение";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Период", Ссылка.Дата);
Запрос.УстановитьПараметр("Сделка", Ссылка[РеквизитИсточника]);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Запрет Тогда
Сообщить("Внимание! этого товара недостаточно в резерве: " + Выборка.Номенклатура.Артикул + " - " + Выборка.Номенклатура + " (" + Выборка.СерияНоменклатуры + ")", СтатусСообщения.Важное);
Отказ = Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот