Не могу добавить программно колонку в табличную часть документа #158494


#0 by Гений 1С
В ТЧ документа добавил поле "п_Себестоимость" типа число. Хочу его программно показывать. Поле показывается, но данные не вводятся.
#1 by Rovan
данные пиши туда в ПриВыводеСтроки
#2 by igork1966
В табличное поле ты добавил, а не в ТЧ.
#3 by igork1966
(c) Волшебник
#4 by Гений 1С
в метаданных это поле есть, ты на ник внимание обрати, я бы так не лоханулся просто. уверен? А какая разница? не угадал, тема другая. Мне нужно редактировать это поле, я хочу колонку создать программно. В метаданных колонка есть. Поведение: захожу, ввожу текст. Выхожу - текст сбрасывается. Блин.
#5 by Волшебник
Данные нужно где-то хранить. Табличное поле не хранит данные.
#6 by Гений 1С
Читай внимательно - данные хранятся в реквизите табличной части документа, конкретно в ТЧ "Товары". А в табличном поле источник данных как раз эта таблица. Опять плохо объясняю? ;-)
#7 by Гений 1С
Я добавил реквизит в эту ТЧ. Называется "п_Себестоимость". Почему не работает, не могу понять
#8 by igork1966
Тогда зачем это. Делаешь предварительно невидимое поле в табличном поле. Потом  делаешь его доступным и видимым.
#9 by Волшебник
Почему бы для этой колонки ТП не установить связь с реквизитом ТЧ по данным?
#10 by Vozhd
Это будет не гениальным решением...
#11 by Волшебник
Запомни, Гений 1С. Все гениальное - просто.
#12 by dimoff
Совершенно нормальный вопрос и естетственное желание и все тупят
#13 by Гений 1С
мне надо програмно, без всяких предварительных. А это что по-вашему: Блин, Вождь мирового пролетариата, специально для вас - чтоб было проще обновляться, хочу изменения формы вносить кодом, а не ручками, чтобы потом сделать через объединение модулей, а не ковыряться ручками в форме. вово. Перед праздником что ли?
#14 by dimoff
Данные не показывает или показывает но не дает вводить?
#15 by Волшебник
ПолеСС.Данные="п_Себестоимость"; Это бред. Потому что у тебя нет реквизита ТЧ с именем п_Себестоимость. Тебе нужно завести таблицу значений, где и хранить данные. В событии ПриОкончанииРедактирования эти данные получать из текущий строки табличного поля и запоминать в ТЗ, а в событии ПриВыводеСтроки данные извлекать из ТЗ. Для ускорения процесса рекомендую использовать Соответствие с ключом примитивного типа (индекс строки, например).
#16 by igork1966
Я так понял, он создал одноименный реквизит в ТЧ. Просто программно хочет добавлять его на ТП.
#17 by Гений 1С
Это не бред, я добавил такой реквизит в табличную часть документа и хочу его выводить в ТП меня правильно понял. не показывает и не сохраняет введенное
#18 by Волшебник
А я так понял, что он его не создал и хочет все делать программно. Но я ошибся. Он действительно его создал.
#19 by Vozhd
За "мировой пролетариат" спасибо. Вынужден Вас растроить, только что проверил, колонки программно добавляются и с данными связываются. Но я то делал тупо и не гениально...
#20 by Гений 1С
Код в студию
#21 by Гений 1С
или опять бла-бла-бла
#22 by dimoff
Это в типовой УПП Авансовый отчет, ТЧ Товары. Всё чудесно добавляется, сохраняется, вводится, отображается
#23 by Гений 1С
блин, а у меня такой же код не работает. Может они еще в другом месте чего прописывают? В моей редакции УПП такого кода нет
#24 by igork1966
Нет в типовой такого кода. Это он его сам донаписал, я так думаю. И говорит работает. ;-)
#25 by igork1966
Щас из принципа проверил. 1. Добавил в ТЧ документа АвансовыйОтчет реквизит "МойРеквизит" текстовый. 2. Добавил в "ПриОткрытии" в модуле формы: НоваяКолонка = ЭлементыФормы.Товары.Колонки.Добавить("МойРеквизит");
#26 by Vozhd
Небольшое исследование показало: 1. Если добавлять колонки в модуле формы, то это срабатывает полностью для списков, например, для ДокументСписок. 2. Если добавлять колонки для табличной части документа в модуле формы, то колонка появляется, но данных в ней не отображается. Проблема отображения данных легко решается через оформление строки, но привязать поле ввода к данным колонки пока не удалось. 3. Если добавлять колонки для табличной части документа ПриОткрытии формы, то все работает без дополнительных извратов.
#27 by Гений 1С
есть одна мысля, сча проверяю, потом скажу
#28 by Гений 1С
прикол в том, что я привязываю при создании формы (еще до открытия), может из-за этого?
#29 by Vozhd
При создании формы добавление колонки не всегда адекватно срабатывает, как я уже написал.
#30 by Гений 1С
Ну да. я ж согласен, потому и указал
#31 by Vozhd
Не надо недооценивать пролетариат...
#32 by Гений 1С
ну и как пролетариат сие расценивает - как баг 1С?
#33 by Гений 1С
в смысле баг платформы
#34 by igork1966
Скорее "особенность". ;-)
#35 by Гений 1С
счас настучу БГ об этом, только проверю, на самом деле так или нет
#36 by Гений 1С
Реально, проблема в том, что вызывается при создании формы. Стукнул в 1С: Для воспроизведения создайте обработку, у нее табличную часть Товары и реквизит этой табличной части "Кол" типа "Количество(10,0)". Создайте основную форму, удалите из нее колонку Кол в табличной части Товары и код обработки замените этим: Разве это не бага платформы??? По моему слова о том, что форма еще не создана, прозвучат неубедительно. Тогда надо выдавать ошибку, а так получается странный результат - данные в ячейку вводятся, сохраняются, но не привязываются к реквизиту. Касается не только формы обработки, но и любых форм вообще.
#37 by Vozhd
Так 1С уже неоднократно сообщал, что в модуле формы объект еще не полностью инициализирован. И именно этим они объясняют закрытие предприятия при возникновении ошибок в модулях...
#38 by Гений 1С
в курсе, это конкретная бага... корявая библиотека по работе с формами
#39 by Гений 1С
1С признало свою ошибку. Отправил им вот этот пост. Ответили (1С, Москва) 26.02.2006 16:52  : Re: Бага или фича? Программное добавление колонок при создании объекта Форма.   Указанная Вами ошибка подтвердилась и зарегистрирована. Спасибо.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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