#0
by AlexITGround
Есть документ. Программно добавляю колонки в таблицу значений. Количество не фиксированное, соответственно в документе сохранить не смогу. Методами Сохранить/ВосстановитьЗначение - тоже не могу, необходимо работать нескольким пользователям с документом. Регистр - жОсткое извращение, но всё же сработает, не хочется таким путем идти. Ребят, какие мысли?
#2
by AlexITGround
Попробую растолковать. Есть документ. ТЗ - реквизит формы, в кот. добавляется произвольное количество колонок. Вопрос: каким макаром сохранять?
#7
by VladZ
К чему такие извращения? Со временим возникнет желание анализировать эту информацию. Каким образом это будешь делать?
#8
by Рэйв
Реквизит строка неограниченной длины + При записи: Реквизит=ЗначениеВстрокуВнутр(ТЗ); При открытии: ТЗ=ЗначениеИзСтрокиВнутр(Реквизит).Скопировать
#10
by Defender aka LINN
А потом кто-нибудь меняет в конфигураторе тип, сохраненный в этой таблице, и привет
#12
by kosts
Если колонок создается не много, например, пусть даже 30-40, то добавь сразу столько колонок в твою ТЧ. Потом по мере надобности открывай. Если там сотни колонок, то можно так: Создай новую ТЧ, с колонками. ИД колонки (число) ИД строки (число) Значение (такое какое нужно). При открытии и сохранении гоняешь значения из экранного ТЗ в ТЧ и обратно.
#15
by Фокусник
Колонка в ТЧ: "ИмяКолонки". Хранить либо в одной "развернутой" ТЧ, либо в двух (как в типовом документе "установка цен")
#20
by AlexITGround
была такая идея, колонок немного, что-то около 20-30, если др. варианты не прокнут, то так и придется
#22
by Lama12
Может не в табличной части хранить данные а в регистре сведений? А на форме документа отображать этот регистр так, как понадобится? Там же можно навертеть как угодно. И колонки добавлять сколько вздумается. :)
#23
by AlexITGround
"Создай новую ТЧ, с колонками. Значение (такое какое нужно). " Вот этого я не понял, можно подробнее плиз?
#24
by Lama12
22+ Ну т.е. как в операции сделать. Только с отображением колонок придется помучится. А так все должно получиться.
#27
by Lama12
ИМХО - это самое оптимальное. Остальные варианты либо ссылочную целостность не дают, либо избыточную информацию придется хранить.
#30
by ИС-2
посмотри документ Уставновка цен номенклатуры - там тоже количество колонок по ценам в псевдо ТЧ произвольное.
#36
by Фокусник
"в колонках числа" Ну значит одна сводная ТЧ для хранения данных: ИмяКолонки (строка) Значение (число)
#37
by МимохожийОднако
тогда см .Чего бояться регистров, если они твои и с поставщиком конфигурации не связаны. Если объснишь по какой причине разные колонки, то возможно и решение будет связаны с этими причинами.
#39
by Фокусник
"в топике про регистр я упомянул" Зачем регистр, если тоже самое можно в ТЧ самого документа хранить? ;)
#41
by Necessitudo
Ну делаешь просто - создаешь реквизит у документа с типом ХранилищеЗначения, в него запихиваешь табличное поле с формы. Профит.
#45
by Apokalipsec
Тем что лучше готовая ТЧ с полным списком фиксированных колонок, а какие колонки показывать - решать при открытии(создании на сервере) в зависимости от роли пользователя. У тебя в шапке топика ТЧ, а внутри уже ТЗ.
#46
by disla
если делать ТЧ, то например, 30 колонок по 30 строк - подумай, сколько по времени будет документ с такой ТЧ сохраняться/проводиться. Тем более в ТЧ количество строк ограничено.
#47
by kosts
+1 Регистры в данном случае не дадут ничего полезного чем ТЧ. >Вот этого я не понял, можно подробнее плиз? В такой ТЧ адрес ячейки и значение. Что именно не понятно?
#50
by kosts
В типовом табеле в ЗУП, если не ошибаюсь 4*31*2 + 2 = 250 колонок и ничего платформа пережевала не подавилась...
#52
by ASU_Diamond
сохроняться вообще без проблем будет, а проведение от этого вообще не зависит. Кстати как раз в проведении будет проблемнее работать с регистром сведений, чем с ТЧ. И ещё как будет делаться привязка к регистру сведений у не записанного документа?
#53
by ASU_Diamond
что ты там найти не можешь? в одном документе можно устанавливать цены на несколько типов цен. при добавлении различных типов цен добавляются колонки.
#55
by ASU_Diamond
ты привел пример 30 колонок по 30 строк, тебе привели пример в 250 колонок в типовой, который нормально работает. В чём проблема?
#57
by wade25
Значение в строку. Решения с 40 колонками в ТЧ, стукнитесь обо что нибудь кто предложил :)
#63
by ASU_Diamond
а в бух-ии есть несколько типов цен (никогда там не возникала необходимости вести в БП различные цены)? в типовых УТ, УПП, КА точно механизм есть
#64
by AlexITGround
попробовал запихать в строку, все колонки сохраняет, а те, которые добавлялись программно - нет, ЧЯДНТ?
#67
by ИС-2
сейчас точно не помню как устроено, но суть в том, что строки по типам цен разворачиваются в колонки ТЧ содержит: Товар1 ТипЦен1 Выводимая таблица Товар1 ТипЦен1 ТипЦен2 ТипЦен3 при сохранении просходит обратное преобразование
#68
by AlexITGround
спасибо, я помню как, хотел найти другой способ, так как в данном случае это аналогично созданию регистра, в котором нужно будет сохранять. Вообще-то "Тицен" и "индекс" содержит вторая ТЧ, по ним же генерируется, связь через соответствие.
#69
by AlexITGround
на личности переходить не буду, как-то непрофессионально получится, спасибо и тебе тоже
#70
by Ymryn
Поддержу идею с регистром сведений. В регистре измерения - документ и идентификатор колонки - ресурс - значение. Собственно при открытии - читаешь регистр и строишь каждый раз таблицу с нуля. Кодится несложно. Основная трудность - это определиться со структурой идентификаторов.
#71
by kosts
Регистр не лучше ТЧ, а только хуже. Регистр есть смысл использовать только для сохранения структуры колонок, и то если одна структура будет применяться для многих документов. И то даже тут, тогда лучше справочник использовать.
#73
by kosts
Не сказать, что прям в 10 раз хуже, но так несколько хуже. Данные оторваны от объекта, отсюда: -При открытии документа лишний запрос к бд. -В запросах к документу лишнее соединение. -Усложняется обмен с другими базами. -В момент записи документа нужно проследить, что бы данные в регистре обновились только в том и только в том случае, если документ записан. Если произошел отказ записи документа (по какой-либо причине), то и регистр не должен быть записан. И наоборот. Если ошибка при записи регистра, то и документ не должен быть записан. Этого лучше всего добиться передав данные для записи в модуль объекта и записывать в одной транзакции. Это все можно обойти, но зачем усложнять себе жизнь... Думаю, выигрыша в объеме хранимых данных в регистре не будет (думаю примерно одинаково, что так, что так).
#74
by kosts
В ТЧ же нужно-то всего два маленьких цикла, перед записью документа и при открытии, для трансформации данных в другой вид...
#75
by Ymryn
Возможно я ошибаюсь, но насколько я знаю, в БД шапка и табличная часть хранятся в разных "таблицах" (извините за путаницу), поэтому 1 и 2 пункты неактуальны. Усложнение обмена - вопрос для обсуждения. Соглашусь разве только с 4 пунктом. Но на мой взгляд, оба варианта по функциональности примерно одинаковые и сугубо дело вкуса.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- А можно создать программно новый объект метаданных?
- Как установить значение реквизита ТЧ документа зная только номер колонки ТЧ
- Программно добавить колонки в таблицу в форме документа
- Как программно создать договор контрагента.
- Можно ли ПРОГРАММНО добавлять колонки в ТЧ?
- как получить имя колонки ТЗ программно ?
- ТабличноеПоле.Колонки.Добавить.... Как узнать позицию колонки?
- Программно добавить обработчик события к программно добавленному элементу формы
- Как перегнать программно печатную форму в формат JPG
- v8: СКД: программно добавить системное поле
- Как программно установить владельца программно созданной колонке
- Подскажите как программно открыть форму документа и программно нажать на ОК?
В этой группе 1С
- 1с загрузка данных из excel как определить цвет ячейки
- Ввод типовой операции в БП 3.0
- Соединить две таблицы - продажи этот месяц и прошлый
- Объединить две базы БП базовые
- УТ CRM 2.0 Подскажите, как связать обработку с регламентным заданием?
- DIR300 1.0.4 D1 Проброс порта..
- v8: ВнешниеОбработки.Создать( как 1С определяет имя?
- Подскажите...в дереве есть несколько одинаковых строк
- НУжно загрузить таблицу значений из XML в 1с
- Сколько стоит ключ защиты Атол на сканер штрих-кода
- где находится scanopos.dll на сайте 1С?
- Сеанс отсутствует или удален
- Как правильно проверить сотрудника на состояние? ЗУП 2.5
- Подключение сканера ШК
- v7: К вопросу о быстродействии 1С 7.7 DBF
- Начальная переоценка в УТ 11
- УТ 11.1 Варианты обеспечения в Заказе Клиента
- План обмена через com:Как зарегистрировать объект в базе-приемнике?
- УТ11.0. Возврат по платежной карте в розничной торговле
- СКД. РегистрНакопления ... ОстаткиИОбороты. Помогите, плз.