Показано с 1 по 2 из 2
-
04.08.2012, 19:47 #1
- Регистрация
- 04.08.2012
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
ОстаткиНоменклатурыОстатк и
Почему в результате выполнения запроса "ВыборкаНоменклатура.Колич ествоОстаток" становится равное нулюИИ хотя на самом деле это не такИИ Помогите разобраться, плииииз!!!!!
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиНоменклат ры.Записывать = Истина;
// ОБЕСПЕЧЕНИЕ НЕИЗМЕННОСТИ ДАННЫХ МЕЖДУ РАСЧЕТОМ И ОКОНЧАНИЕМ ПРОВЕДЕНИЯ
Блокировка=Новый БлокировкаДанных;
ЭлементБлокировки=Блокиро ка.Добавить("РегистрНакопл ения.ОстаткиНоменклатуры");
ЭлементБлокировки.Режим=Ре жимБлокировкиДанных.Исклю ительный;
ЭлементБлокировки.Источни Данных=Товары.Выгрузить(,"Н оменклатура");
ЭлементБлокировки.Использ ватьИзИсточникаДанных("Но енклатура","Номенклатура");
Блокировка.Заблокировать();
//УДАЛЕНИЕ СОБСТВЕННЫХ СТАРЫХ ДВИЖЕНИЙ ПО РЕГИСТРУ ОСТАТКИ НОМЕНКЛАТУРЫ
Движения.ОстаткиНоменклат ры.Записать();
//ПОЛУЧЕНИЕ ДАННЫХ ПО ТОВАРАМ
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| РасходнаяНакладнаяТовары. оменклатура КАК Номенклатура,
| СУММА(РасходнаяНакладнаяТ вары.Количество) КАК Количество
|ПОМЕСТИТЬ ТабДок
|ИЗ
| Документ.РасходнаяНакладн я.Товары КАК РасходнаяНакладнаяТовары
|ГДЕ
| РасходнаяНакладнаяТовары. сылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяТовары. оменклатура
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТабДок.Номенклатура КАК Номенклатура,
| ТабДок.Количество КАК Количество,
| ЕСТЬNULL(ОстаткиНоменклатур Остатки.СуммаВрубляхОстат ок, 0) КАК СуммаВрубляхОстаток,
| ЕСТЬNULL(ОстаткиНоменклатур Остатки.СуммаВВалютеОстат ок, 0) КАК СуммаВВалютеОстаток,
| ЕСТЬNULL(ОстаткиНоменклатур Остатки.КоличествоОстаток , 0) КАК КоличествоОстаток
|ИЗ
| ТабДок КАК ТабДок
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки оменклатуры.Остатки(
| &Момент,
| Номенклатура В
| (ВЫБРАТЬ
| ТабДок.Номенклатура
| ИЗ
| ТабДок КАК ТабДок)) КАК ОстаткиНоменклатурыОстатк и
| ПО ТабДок.Номенклатура = ОстаткиНоменклатурыОстатк и.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура
|ИТОГИ
| МАКСИМУМ(Количество),
| СУММА(СуммаВрубляхОстаток) ,
| СУММА(СуммаВВалютеОстаток) ,
| СУММА(КоличествоОстаток)
|ПО
| Номенклатура";
Если Режим=РежимПроведенияДоку ента.Оперативный Тогда
Запрос.УстановитьПараметр( "Момент", Неопределено);
Иначе
Запрос.УстановитьПараметр( "Момент", МоментВремени());
КонецЕсли;
Запрос.УстановитьПараметр( "Ссылка", Ссылка);
Результат=Запрос.Выполнить ();
ВыборкаНоменклатура=Резул тат.Выбрать(ОбходРезульта аЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следу щий() Цикл
//КОНТРОЛЬ ОТРИЦАТЕЛЬНЫХ ОСТАТКОВ СПИСЫВАЕМЫХ ТОВАРОВ
Если ВыборкаНоменклатура.Колич ство > ВыборкаНоменклатура.Колич ствоОстаток Тогда
Отказ=Истина;
Сообщение=Новый СообщениеПользователю;
Нехватка=ВыборкаНоменклат ра.Количество-ВыборкаНоменклатура.Колич ствоОстаток;
Сообщение.Текст="В документе №"+Номер+" от "+Дата+" не хватает "+Нехватка+" единиц товара "+ВыборкаНоменклатура.Номе клатура;
Сообщение.Сообщить();
КонецЕсли;
Если Отказ Тогда
Продолжить;
КонецЕсли;
...
т.е. получается, что остатки равны нулю, а это не так, и всегда будет выводиться сообщения, что не хватает товара...(((((( почемуИИИ?
-
04.08.2012, 22:15 #2
- Регистрация
- 04.08.2012
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Спасибо, ошибка найдена))
Социальные закладки