![]() |
ВводОстатковТМЦ Всем привет, уже голова не варит. При проведении документа заполненного программно, выдает что не заполнен "Вид ТМЦ, статус партии". Док = СоздатьОбъект("Документ.ВводОстатковТМЦ"); Док.Новый(); Док.ВидОперации=Перечисление.ВидыОперацийПоВводуОстатков.ОстаткиТМЦ; СпрФирма = СоздатьОбъект("Справочник.Фирмы"); СпрФирма.НайтиПоКоду(ТабСклад.firma); Док.Фирма=СпрФирма.ТекущийЭлемент(); СпрСклад = СоздатьОбъект("Справочник.Склады"); СпрСклад.НайтиПоКоду(ТабСклад.store); Док.Склад=СпрСклад.ТекущийЭлемент(); Док.ВидСтатус=Перечисление.ВидыТМЦ.Товар; СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура"); СпрЕдиницы=СоздатьОбъект("Справочник.Единицы"); ТабЗнач.ВыбратьСтроки(); Пока ТабЗнач.ПолучитьСтроку()=1 Цикл если ((ТабСклад.firma=ТабЗнач.firma) и (ТабСклад.store=ТабЗнач.store)) тогда Док.НоваяСтрока(); СпрНоменклатура.НайтиПоКоду(ТабЗнач.nomenkl); Док.Номенклатура=СпрНоменклатура.ТекущийЭлемент(); Док.Количество=ТабЗнач.kol; СпрЕдиницы.ИспользоватьВладельца(СпрНоменклатура); СпрЕдиницы.ВыбратьЭлементы(); Пока СпрЕдиницы.ПолучитьЭлемент()=1 цикл Док.Единица=СпрЕдиницы.ТекущийЭлемент(); КонецЦикла; Док.Коэффициент=1; Док.СтавкаНДС=Перечисление.СтавкиНДС.БезНДС; Док.ПродЦена=ТабЗнач.price; Док.Сумма=Док.Количество*Док.ПродЦена; Док.СуммаРуб=Док.Количество*Док.ПродЦена; Док.ВидСтатус=Перечисление.ВидыТМЦ.Товар; База.Следующая(); конецесли; КонецЦикла; Док.Записать(); Док.Провести(); Вроде все заполнено, а затык :( |
очень странно, на строке Док.ВидСтатус=Перечисление.ВидыТМЦ.Товар; должна выпадать ошибка типа неверный реквизит, а сома строка должна выглядеть примерно Док.Статус=Перечисление.СтатусыПартии.Т_Купленный; |
а, не, не посмотрел, не должно ругаться, просто эту строку Док.ВидСтатус=Перечисление.ВидыТМЦ.Товар вынесите из цикла |
Реквизит "ВидСтатус" имеет тип "Неопределенный" Поэтому надо сначала назначить тип, а потом присваивать значение |
Текущее время: 02:35. Часовой пояс GMT +3. |