Не получается присвоить переменной значение Субконто #501278


#0 by Vanzent
Здравствуйте форумчане. Помогите с проблемкой. Суть такова. В авансовый отчет вставил кнопку подбора приходных ордеров(поступление материалов). При выборе приходного ордера заполняется табличная часть авансового данными из приходного. Всё заполняется нормально, но не могу присвоить переменной Субконто1, Субконто2, Субконто3 значение. КоррСчет - 10.1,10.2... В авансовом отчете переменным Субконто назначается тип: НазначитьТип("Субконто2",КоррСчет.ВидСубконто) НазначитьТип("Субконто3",КоррСчет.ВидСубконто) Далее пробую присвоить так: Субконто1=ЗначениеВыбора.Материал Не присваивается. пробовал создать объект "Справочник.Материалы",Затем находил там материал: спр.СоздатьОбъект("Справочник.Материалы") спр.НайтиПоНаименованию(ЗначениеВыбора.Материал.Наименование,0) Субконто1=спр.ТекущееЗначение Ошибок нет, но и не присваиват. Как это правильно сделать?
#1 by Эльниньо
спр.СоздатьОбъект("Справочник.Материалы")
#2 by miki
а если НайтиЭлемент(ЗначениеВыбора.Материал)?
#3 by Эльниньо
+1
#4 by Ёпрст
(1,2) это всё баловство. Тут ошибка савсем в другом - скорее всего в разных типах. ЗначениеВыбора.Материал - это вообще что ? И откуда ?
#5 by miki
я бы сказал не "скорее всего", а "наверняка"
#6 by Vanzent
В справочнике находит этот материал, только не присваивает почему то. Скорее всего разные типы.Как заставить быть одним типом? ЗначениеВыбора Ссылка на выбранный документ из подбора. Все это делаю в процедуре А "материал" это строка табличной части документа "ПриходныйОрдер"(Поступление материалов)
#7 by miki
если находит материал - значит субконто не подходит
#8 by Ёпрст
зачет.. т.е ты подобрал сам документ в ОбработкаПодбора и пытаешься взять значение из строки в виде ЗначениеВыбора.Материал ? А в ЗначениеВыбора у тебя сам документ ПриходныйОрдер ?? Ну и из какой строки ему брать значение ? :)))))))))
#9 by Vanzent
Может я не правильно присваиваю В отладчике посмотрел КоррСчет.ВидСубконто = Материалы Это все в цикле: Пока ЗначениеВыбора.ПолучитьСтроку=1 Цикл
#10 by Dimanchik
Вместо Субконто1=спр.ТекущееЗначение
#11 by Vanzent
Опечатался скорее всего, делаю Субконто1=спр.ТекущийЭлемент; Быстрые ответы, спасибо. Куда копнуть?
#12 by Ёпрст
показать больше кода вестимо.
#13 by Ёпрст
+12 а так, хз, откуда у вас в приходнике вообще ТЧ взялась, да еще и реквизит Материал в нём, кстати, какого он типа то у вас там хоть?
#14 by Vanzent
#15 by Vanzent
Да вроде "Справочник.Материалы"
#16 by miki
а где код из : НазначитьТип("Субконто2",КоррСчет.ВидСубконто) НазначитьТип("Субконто3",КоррСчет.ВидСубконто)
#17 by Ёпрст
а[ЗначениеВыбора.ПлатежныйДокумент+1] - это что за бред  ЗначениеВыбора.ПлатежныйДокумент - у вас чего, число ?
#18 by Ёпрст
и где в коде назначитьТип ????
#19 by Vanzent
Это стандартная процедура в авансовом отчете, ничего не менял. Там все вставляется, претензий нет. Своя переменная.
#20 by miki
тогда где вызов ПриВыбореСчета?
#21 by Ёпрст
НазначатьТип нужно для КАЖДОЙ строки документа, это чтоб ты в курсе был
#22 by Ёпрст
+21 это ежели в строках есть реквизиты неопределенного типа.
#23 by miki
Коррсчет в шапке или в ТЧ? А то вызывай ПриВыбореСчета после КоррСчет=ЗначениеВыбора.Материал.СубСчет10;
#24 by Vanzent
ПриВыбореСчета Вызывается из табличной части авансового отчета когда выбирается коррсчет. Для переменных "субконто" тип присваивается. А для какой строки еще нужно это делать? просто вставляю Ошибку выдает на строке "ПриВыбореСчета;"
#25 by Ёпрст
Субконто1...3 - это реквизит ТЧ у тебя, или Шапки ?
#26 by Vanzent
Все получилось! Ура. Благодарность от бухгалтера и от меня!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С