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