Доброе утро, подскажите пожалуйста можно ли добавить это условие в запрос и так же выводить ошибку? (Пытался но не получалось) Так понимаю нужно использовать еще 'ОбщегоНазначенияКлиентСервер.СообщитьПользователю'. Не кидайтесь тапками, учусь :).
&Перед("ОбработкаПроведения")
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ЗаказНаПроизводство", ЗаказНаПроизводство);
Запрос.УстановитьПараметр("Подразделение", Подразделение);
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказНаПроизводствоЗапасы.Ссылка КАК ЗаказНаПроизводство,
| ЗаказНаПроизводствоЗапасы.Номенклатура КАК Номенклатура,
| ЗаказНаПроизводствоЗапасы.Характеристика КАК Характеристика,
| ЗаказНаПроизводствоЗапасы.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ЗаказНаПроизводствоЗапасы.Количество КАК Количество,
| ЗаказНаПроизводствоЗапасы.Этап КАК ЭтапПроизводства
|ПОМЕСТИТЬ ВтЗаказНаПроизводство
|ИЗ
| Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
|ГДЕ
| ЗаказНаПроизводствоЗапасы.Ссылка В(&ЗаказНаПроизводство)
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВтЗаказНаПроизводство.ЭтапПроизводства КАК ЭтапПроизводства,
| ЭтапыПроизводстваСтруктурныеЕдиницы.СтруктурнаяЕдиница КАК ПодразделениеЭтапа
|ПОМЕСТИТЬ ВтЭтапыПроизводства
|ИЗ
| ВтЗаказНаПроизводство КАК ВтЗаказНаПроизводство
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЭтапыПроизводства.СтруктурныеЕдиницы КАК ЭтапыПроизводстваСтруктурныеЕдиницы
| ПО ВтЗаказНаПроизводство.ЭтапПроизводства = ЭтапыПроизводстваСтруктурныеЕдиницы.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ЭтапыПроизводстваСтруктурныеЕдиницы.СтруктурнаяЕдиница,
| ВтЗаказНаПроизводство.ЭтапПроизводства
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| СУММА(РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
| СУММА(РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.Материал КАК Материал,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.Характеристика КАК Характеристика,
| СУММА(РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.КоличествоПриход - РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.КоличествоРасход) КАК ОстатокЛимита
|ПОМЕСТИТЬ ВтЛимиты
|ИЗ
| РегистрНакопления.РезервыМатериаловПодЗаказНаПроизводстве.Обороты КАК РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты
|
|СГРУППИРОВАТЬ ПО
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.ЗаказНаПроизводство,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.Материал,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.СтруктурнаяЕдиница,
| РезервыМатериаловПодЗаказНаПроизводствеОстаткиИОбороты.Характеристика
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВтЗаказНаПроизводство.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| ВтЭтапыПроизводства.ПодразделениеЭтапа КАК Подразделение,
| ВтЗаказНаПроизводство.Номенклатура.Склад КАК СкладМатериала,
| ВтЗаказНаПроизводство.Номенклатура КАК Номенклатура,
| ВтЗаказНаПроизводство.Характеристика КАК Характеристика,
| ВтЗаказНаПроизводство.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СУММА(ВтЗаказНаПроизводство.Количество) КАК Количество,
| СУММА(ВтЛимиты.КоличествоПриход) КАК ЛимитПоЗаказу,
| СУММА(ВтЛимиты.КоличествоРасход) КАК Выдано,
| СУММА(ВтЛимиты.ОстатокЛимита) КАК ОстатокЛимита
|ПОМЕСТИТЬ ВтЗаказ
|ИЗ
| ВтЗаказНаПроизводство КАК ВтЗаказНаПроизводство
| ЛЕВОЕ СОЕДИНЕНИЕ ВтЭтапыПроизводства КАК ВтЭтапыПроизводства
| ПО ВтЗаказНаПроизводство.ЭтапПроизводства = ВтЭтапыПроизводства.ЭтапПроизводства
| ЛЕВОЕ СОЕДИНЕНИЕ ВтЛимиты КАК ВтЛимиты
| ПО ВтЗаказНаПроизводство.ЗаказНаПроизводство = ВтЛимиты.ЗаказНаПроизводство
| И ВтЗаказНаПроизводство.Номенклатура = ВтЛимиты.Материал
| И ВтЗаказНаПроизводство.Характеристика = ВтЛимиты.Характеристика
|
|СГРУППИРОВАТЬ ПО
| ВтЗаказНаПроизводство.ЗаказНаПроизводство,
| ВтЭтапыПроизводства.ПодразделениеЭтапа,
| ВтЗаказНаПроизводство.Номенклатура.Склад,
| ВтЗаказНаПроизводство.Номенклатура,
| ВтЗаказНаПроизводство.Характеристика,
| ВтЗаказНаПроизводство.ЕдиницаИзмерения
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВЗ.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| ВЗ.Подразделение КАК Подразделение,
| ВЗ.СкладМатериала КАК СкладМатериала,
| ВЗ.Номенклатура КАК Номенклатура,
| ВЗ.Характеристика КАК Характеристика,
| ВЗ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СУММА(ВЗ.Количество) КАК Количество,
| СУММА(ВЗ.ЛимитПоЗаказу) КАК ЛимитПоЗаказу,
| СУММА(ВЗ.Выдано) КАК Выдано,
| СУММА(ВЗ.ОстатокЛимита) КАК ОстатокЛимита
|ПОМЕСТИТЬ ВтЛимитки
|ИЗ
| (ВЫБРАТЬ
| ВтЗаказ.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| ВтЗаказ.Подразделение КАК Подразделение,
| ВтЗаказ.СкладМатериала КАК СкладМатериала,
| ВтЗаказ.Номенклатура КАК Номенклатура,
| ВтЗаказ.Характеристика КАК Характеристика,
| ВтЗаказ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СУММА(ВтЗаказ.Количество) КАК Количество,
| СУММА(ВтЗаказ.ЛимитПоЗаказу) КАК ЛимитПоЗаказу,
| СУММА(ВтЗаказ.Выдано) КАК Выдано,
| СУММА(ВтЗаказ.ОстатокЛимита) КАК ОстатокЛимита
| ИЗ
| ВтЗаказ КАК ВтЗаказ
|
| СГРУППИРОВАТЬ ПО
| ВтЗаказ.ЗаказНаПроизводство,
| ВтЗаказ.Подразделение,
| ВтЗаказ.СкладМатериала,
| ВтЗаказ.Номенклатура,
| ВтЗаказ.Характеристика,
| ВтЗаказ.ЕдиницаИзмерения
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЛимитноЗаборнаяКартаТовары.Ссылка.ЗаказНаПроизводство,
| ЛимитноЗаборнаяКартаТовары.Ссылка.Подразделение,
| ЛимитноЗаборнаяКартаТовары.Ссылка.Склад,
| ЛимитноЗаборнаяКартаТовары.Номенклатура,
| ЛимитноЗаборнаяКартаТовары.Характеристика,
| ЛимитноЗаборнаяКартаТовары.ЕдиницаИзмерения,
| СУММА(-ЛимитноЗаборнаяКартаТовары.Количество),
| СУММА(0),
| СУММА(0),
| СУММА(0)
| ИЗ
| Документ.ЛимитноЗаборнаяКарта.Товары КАК ЛимитноЗаборнаяКартаТовары
| ГДЕ
| ЛимитноЗаборнаяКартаТовары.Ссылка.Проведен
|
| СГРУППИРОВАТЬ ПО
| ЛимитноЗаборнаяКартаТовары.Ссылка.ЗаказНаПроизводство,
| ЛимитноЗаборнаяКартаТовары.Ссылка.Подразделение,
| ЛимитноЗаборнаяКартаТовары.Ссылка.Склад,
| ЛимитноЗаборнаяКартаТовары.Номенклатура,
| ЛимитноЗаборнаяКартаТовары.Характеристика,
| ЛимитноЗаборнаяКартаТовары.ЕдиницаИзмерения) КАК ВЗ
|
|СГРУППИРОВАТЬ ПО
| ВЗ.СкладМатериала,
| ВЗ.Подразделение,
| ВЗ.Номенклатура,
| ВЗ.ЕдиницаИзмерения,
| ВЗ.Характеристика,
| ВЗ.ЗаказНаПроизводство
|
|ИМЕЮЩИЕ
| СУММА(ВЗ.Количество) < 0
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВтЛимитки.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| ВтЛимитки.Подразделение КАК Подразделение,
| ВтЛимитки.СкладМатериала КАК СкладМатериала,
| ВтЛимитки.Номенклатура КАК Номенклатура,
| ВтЛимитки.Характеристика КАК Характеристика,
| ВтЛимитки.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СУММА(ВтЛимитки.Количество) КАК Количество,
| СУММА(ВтЛимитки.ЛимитПоЗаказу) КАК ЛимитПоЗаказу,
| СУММА(ВтЛимитки.Выдано) КАК Выдано,
| СУММА(ВтЛимитки.ОстатокЛимита) КАК ОстатокЛимита
|ИЗ
| ВтЛимитки КАК ВтЛимитки
|ГДЕ
| ВтЛимитки.ЗаказНаПроизводство = &ЗаказНаПроизводство
| И ВтЛимитки.Подразделение = &Подразделение
|
|СГРУППИРОВАТЬ ПО
| ВтЛимитки.ЗаказНаПроизводство,
| ВтЛимитки.Подразделение,
| ВтЛимитки.СкладМатериала,
| ВтЛимитки.Номенклатура,
| ВтЛимитки.Характеристика,
| ВтЛимитки.ЕдиницаИзмерения
|
|ИТОГИ ПО
| ЗаказНаПроизводство,
| Подразделение,
| СкладМатериала";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Количество < 0 Тогда
ВызватьИсключение ("Общее количество материалов не должно превышать количество материала в заказе на производство!");
Иначе
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот