|
Отказ при записи
| ☑ |
0
MIV 91
23.11.20
✎
17:54
|
Добрый день, по задумке при записи если не хватает товара то должен идти отказ в записи, однако этого нет, не подскажите почему?
Процедура ПриЗаписи(Отказ)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (&Товары)) КАК ТоварыНаСкладахОстатки
|ГДЕ
| ТоварыНаСкладахОстатки.КоличествоОстаток < 0";
Запрос.УстановитьПараметр("Товары", Товары.ВыгрузитьКолонку("Номенклатура"));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество()> 0 Тогда
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить ("Не хватает" + ВыборкаДетальныеЗаписи.Номенклатура + "количество" + -ВыборкаДетальныеЗаписи.КоличествоОстаток + "!")
КонецЦикла;
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
|
|
1
ДенисЧ
23.11.20
✎
17:58
|
Белые люди обычно такую пакость делают в ПередЗаписью()
|
|
2
MIV 91
23.11.20
✎
18:03
|
(1) Я пробовал и перед Записью и Режим Проведения, все равно документ проходит...
|
|
3
RomanYS
23.11.20
✎
18:04
|
(1) а типовые другие расы пишут? Контроль остатков обычно в обработке проведения
|
|
4
ДенисЧ
23.11.20
✎
18:10
|
(3) Типовые пишут инопланетянет
(2) А запрос что говорит вообще?
|
|
5
MIV 91
23.11.20
✎
18:12
|
(4) Через запрос я получаю выборку, и конкретно нужную строку табличной части, плюс условие что если меньше нуля конкретной номенклатуры, тогда...
|
|
6
RomanYS
23.11.20
✎
18:17
|
(4) Не только инопланетяне знают, что отрицательные остатки нужно проверять после проведения (и точно после "ПередЗаписью") :))).
|
|
7
RomanYS
23.11.20
✎
18:18
|
|
|