Не заполняется программно субконто именно в авансовом отчете #28861


#0 by Alexey16
Хочу программно сформировать (перенести из другой конфы) новый авансовый отчет. Бух. 7.7. . Делаю так: Правильно формирует код справочника, находит элемент, но не записывает. В РКО так работает, но здесь субконто в многострочной части. Не подскажет кто, как надо сделать? Может в многострочной части тип субконто нужно задать иначе? Спасибо.
#2 by Alexey16
To 1. Да создал я строчку и не одну. Все реквизиты занеслись только так. Проверял: коды справочника и элементы справочника выбираются как надо, но субконто не записывается. Это обычно бывает если не задан тип данных, т.к. у субконто он неопределенный.
#3 by ts
Значит, это очередной глюк 1С. Помню, что когда-то решал такую проблему, но забыл как. Зато пришла такая идея: сформировать таблицу значений, а потом методом ЗагрузитьТабличнуюЧасть передать строки. Вдруг прокатит.
#4 by 427
руки выпрямите. Внимательно изучите хотя бы ввод на основании. И присваивайте тип
#4 by Alexey16
Попробую с ТЗ. С заданием типа субконто как уже не извращался... Спасибо. Если получится что-то путное, сообщу.
#6 by Alexey16
427 Да, понятно, что, в основном, здесь кривые бегают. Умных всего 427. Что "вводить на основании"? У меня есть ДБФ файл с авансовыми отчетами. Нужно по нему сформировать новые документы. Можешь что-то подсказать по делу - спасибо. А кому чего выпрямлять - мы кривые сами знаем.
#7 by SnarkHunter
Я тихо млею... 1С в глюках обвинили, pit в печень получил... Объясни, что за тип "СтатьиИздержекОбращения" в строке ДокАвОтчет.НазначитьТип("Субконто1","СтатьиИздержекОбращения"); ? Может, все-таки, подсказку 427 о выпрямлении рук принять к сведению?
#8 by Alexey16
Snarkу и Hunterу, обеим. Ну, ведь Вы-то подсказали! А то: "Мы тут на Олимпе вас не понимаем... Как так можно..." Спасибо. Все завертелось.
#9 by Alexey16
Snarkу и Hunterу, обеим. Ну, ведь Вы-то подсказали! А то: "Мы тут на Олимпе вас не понимаем... Как так можно..." Спасибо. Все завертелось.
#10 by 427
ну так выпрямляй... я не вижу, что есть ДокАвОтчет... Сделай проще. В обработке загрузки создаешь тз для таб части будущего дока. Загружаешь ее из ДБФ. Колонки примерно такие Счет Субк1 наименование или код (по чему будешь синхронизировать... к слову - оба способа - код или наменование - .авно по определению, плодят двойников частенько). Но это твои проблемы Субк2 наименование или код Субк3 наименование или код Сумма Количество Еще чего там надо после формирования ТЗ запихиваешь ее в СписокЗначений вместе с реквизитами шапки и выдаешь ОткрытьФорму с передачей СЗ в качестве параметра. Таким образом, вся разборка ДБФ в обработке и при обновлении не теряется... В доке в ПриОткрытии опрашиваешь форма.параметр вытаскиваешь реквизиты шапки и на место их. Вытаскиваешь ТЗ, перебирая ее - делаешь НоваяСтрока Счет = ТЗ.Счет; а далее - установку типа через ШТАТНУЮ ДЛЯ ЭТОГО ДОКА процедуру ПриВыбореСчета (короче, что там в реквизите счет прописано. Эта беда назначает тип субконтам 1-3 на счете (в зависимости от счета). после назначения типа ШТАТНОЙ процедурой смотришь тип, создаешь справочник такого же типа (не забудь - субконто м.б. перечисление, документ и т.д.) и ищещь по коду или наименованию в нем. Нашел - просто записал. Не нашел - создал новый элемент и записал в реквизит. В конце делашь Записать СтатусВозврата возврат т.е. работа с данными - в форме дока. При изменении структуры - правка в одном месте. Недостаток - при обновлении надо таскать дописанное руками. Можно все сделать в обработке, тогда при обновлении ничего править не надо - а только проверить, останется ли обработка работоспособной (т.е. не изменилась ли структура дока).
#11 by Дуррочка 1С
Я с табличными частями так, обычно, разбираюсь: 1 Выгружаю ТЧ в ТЗ. 2 Удаляю все строки из ТЗ. Получается готовая ТЗ со структурой и идентификаторами ТЧ. 3 Заполняю ТЗ значениями и загружаю обратно в ТЧ.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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