Имя: Пароль:
1C
1C 7.7
v7: Помогите найти ошибку
0 hasbund
 
14.08.12
07:35
Документ расходная накладная, обработка проведения, пытаюсь проверить есть ли запрашиваемое количество товаров на складе. Программа не рассчитывает регистры, пишет, что остаток равен 0, хотя даже по отчету видно, что товары есть. Помогите найти мою ошибку (P.S. я только начинаю учиться)

Процедура ОбработкаПроведения()
   //Здесь следует написать алгоритм проведения документа
РегОст=СоздатьОбъект("Регистр.ОстаткиМатериалов");
Если СравнитьТА()=-1 Тогда
   РегОст.ВременныйРасчет(1);
   РассчитатьРегистрыНа(ТекущийДокумент());  
   КонецЕсли;
   ВыбратьСтроки();
   Пока (ПолучитьСтроку()>0) Цикл
       ФлагОтказа=0;
       Остат=РегОст.СводныйОстаток(,,Материал,"Количество");
       Сообщить(Остат);
       Если Остат<Количество Тогда
       Сообщить("Нет материала № "+СокрЛП(Материал.Код)+" в количестве "+Количество+" (имеется "+Остат+")");  
       ФлагОтказа=1;
   КонецЕсли;
   
   //    Регистр.ОстаткиМатериалов.Материал=Материал;
   //    Регистр.ОстаткиМатериалов.Склад=Склад;
   //Регистр.ОстаткиМатериалов.КолО=КолО;  
   // Регистр.ОстаткиМатериалов.СуммаРуб=СуммаРуб;
   //    Регистр.ОстаткиМатериалов.ДвижениеРасходВыполнить();
   КонецЦикла;

КонецПроцедуры
1 miki
 
14.08.12
07:51
Опиши структуру регистра
2 hasbund
 
14.08.12
07:56
Измерения:материал(спр.материалы), склад(спр.склады), партия(документ); ресурсы: количество; реквизиты: ФлагДвижения
3 miki
 
14.08.12
08:00
(2)Если с порядком измерений не напутал, то сводный остаток по материалу следует получать так:
Остат=РегОст.СводныйОстаток(Материал,,,"Количество");
4 hasbund
 
14.08.12
08:04
О, спасибо! Ступил))))
5 Прохожий
 
14.08.12
08:06
(0) давно занимаетесь 1С 77.? Куда подевали предыдущего программиста?
6 Прохожий
 
14.08.12
08:08
(0) уважаемый!
Ваше появление на форуме живо обсуждается здесь  :
Откуда на форуме берутся стажеры-семерочники?
Если вы посетите эту ветку и раскроете свое инкогнито народ перестанет мучиться догадками относительно предыстории вопроса.
Очень всех вас ждем.
7 miki
 
14.08.12
08:10
(4)я бы ещё склады с материалами местами поменял...
8 aka AMIGO
 
14.08.12
08:21
(2)а зачем реквизит "ФлагДвижения"?
9 andrewks
 
14.08.12
08:25
(7) зачем? думаешь, там много складов с материалами?
10 miki
 
14.08.12
12:54
(9)когда-то учили, что самый частый фильтр - в начало.
11 andrewks
 
14.08.12
13:22
(10) это я в курсе. поэтому и задал вопрос именно так
12 miki
 
14.08.12
13:32
(11)хуже не будет, а учиться - лучше сразу хорошему, имхо.
13 varelchik
 
14.08.12
14:22
Возми любую типовую и посмотри как та это делеться.
И вообще
Есть такая конструкция:
ИтогиАктуальны()
в контексте модуля проведения.
Нафига те СравнитьТА()?