Имя: Пароль:
1C
1С v8
не приравнивается значение параметра к реквизиту табличной части
0 r2d24
 
02.10.13
14:34
В обработку написан код, в сообщение выводится какое количество товара на складе. А когда создаю документ "Оприходование товара", строка
СТЧ.Количество=Выборка.КоличествоОстаток; (Это строка1) не работает, а если задать число, то  например так:
СТЧ.Количество=33;          (Это строка2), то работает


ДокОпрТов=Документы.ОприходованиеТоваров.СоздатьДокумент();
ДокОпрТов1=ДокОпрТов.ПолучитьФорму("ФормаДокумента");
ДокОпрТов.Дата=ТекущаяДата();      
ДокОпрТов1.Открыть();  
ДокОпрТов.Склад=Склад;
ДокОпрТов.Организация=Организация;
ДокОпрТов.ОтражатьВУправленческомУчете=Истина;                          
Запрос=новый Запрос();
Запрос.Текст=
"ВЫБРАТЬ
|    ТоварыНаСкладахОстатки.Склад,
|    ТоварыНаСкладахОстатки.Номенклатура,
|    ТоварыНаСкладахОстатки.КоличествоОстаток
|ИЗ
|    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки";
Выборка=Запрос.Выполнить().Выбрать();      

Пока Выборка.Следующий() Цикл        
        Сообщить("остатки: " + Выборка.Номенклатура + " " + Выборка.КоличествоОстаток);
        Если Выборка.КоличествоОстаток < 0 Тогда
       СТЧ=ДокОпрТов.Товары.Добавить();
       СТЧ.Номенклатура=Выборка.Номенклатура;
       СТЧ.Количество=Выборка.КоличествоОстаток; (Это строка1)
       //СТЧ.Количество=33;                      (Это строка2)
        КонецЕсли;
КонецЦикла;
1 Euguln
 
02.10.13
14:35
Реквизит Количество неотрицательный?
2 r2d24
 
02.10.13
14:38
(1) отрицательный
3 Euguln
 
02.10.13
14:40
В конфигураторе у реквизита Количество стоит галочка "неотрицательный"?
4 r2d24
 
02.10.13
14:40
надо было умножить на (-1), и почему сразу не додумался?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший