Имя: Пароль:
1C
1С v8
Контроль остатка товаров
0 malex18
 
11.08.17
14:56
Сделал контроль остатка товаров по старой методике, выводит ошибку при проведении документа "Реализация":
"Пишет,что товара недостаточно в количестве,равному количеству прихода этого товара"
что не так в коде?



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