Программно создать колонки в ТЧ документа. Вопросы сохранения этого всего добра. #688422


#0 by AlexITGround
Есть документ. Программно добавляю колонки в таблицу значений. Количество не фиксированное, соответственно в документе сохранить не смогу. Методами Сохранить/ВосстановитьЗначение - тоже не могу, необходимо работать нескольким пользователям с документом. Регистр - жОсткое извращение, но всё же сработает, не хочется таким путем идти. Ребят, какие мысли?
#1 by ДенисЧ
иди выпей коньяку, проспись и переформулируй вопрос.
#2 by AlexITGround
Попробую растолковать. Есть документ. ТЗ - реквизит формы, в кот. добавляется произвольное количество колонок. Вопрос: каким макаром сохранять?
#3 by AlexITGround
+ 2 коньяку бы -- это да, если бы результат был)
#4 by Лодырь
Что сохранять? Куда сохранять?
#5 by Wobland
как только выяснишь, куда сохранять, сигнализируй
#6 by Галахад
В хранилище значений можно.
#7 by VladZ
К чему такие извращения? Со временим возникнет желание анализировать эту информацию. Каким образом это будешь делать?
#8 by Рэйв
Реквизит строка неограниченной длины + При записи: Реквизит=ЗначениеВстрокуВнутр(ТЗ); При открытии: ТЗ=ЗначениеИзСтрокиВнутр(Реквизит).Скопировать
#9 by AlexITGround
спасибо, проанализирую данный случай
#10 by Defender aka LINN
А потом кто-нибудь меняет в конфигураторе тип, сохраненный в этой таблице, и привет
#11 by Рэйв
а завтра ядерная война и мы все умрем:-)
#12 by kosts
Если колонок создается не много, например, пусть даже 30-40, то добавь сразу столько колонок в твою ТЧ. Потом по мере надобности открывай. Если там сотни колонок, то можно так: Создай новую ТЧ, с колонками. ИД колонки (число) ИД строки (число) Значение (такое какое нужно). При открытии и сохранении гоняешь значения из экранного ТЗ в ТЧ и обратно.
#13 by Apokalipsec
про видимость и роли автору уже говорили или тут только извращения предлагать?
#14 by Лодырь
Дружище, странный вопрос, ты на мисте! Только извращения разумеется.
#15 by Фокусник
Колонка в ТЧ: "ИмяКолонки". Хранить либо в одной "развернутой" ТЧ, либо в двух (как в типовом документе "установка цен")
#16 by Lama12
Хотелось бы услышать цель данного документа? Какое событие он фиксирует?
#17 by AlexITGround
там реквизиты есть в ТЧ, не оно
#18 by AlexITGround
формирует заказы покупателей и как следствие создает маршрут по ним
#19 by AlexITGround
причем здесь "видимость" и "роли", аргументируй
#20 by AlexITGround
была такая идея, колонок немного, что-то около 20-30, если др. варианты не прокнут, то так и придется
#21 by Wobland
что в колонках?
#22 by Lama12
Может не в табличной части хранить данные а в регистре сведений? А на форме документа отображать этот регистр так, как понадобится? Там же можно навертеть как угодно. И колонки добавлять сколько вздумается. :)
#23 by AlexITGround
"Создай новую ТЧ, с колонками. Значение (такое какое нужно). " Вот этого я не понял, можно подробнее плиз?
#24 by Lama12
22+ Ну т.е. как в операции сделать. Только с отображением колонок придется помучится. А так все должно получиться.
#25 by AlexITGround
в колонках числа, но разница...
#26 by AlexITGround
в топике про регистр я упомянул, не хотелось бы так, как крайний вариант держу
#27 by Lama12
ИМХО - это самое оптимальное. Остальные варианты либо ссылочную целостность не дают, либо избыточную информацию придется хранить.
#28 by ИС-2
хранилище значений. Но, имхо, переменное количекство колонок есть зло. Лучше уж регистр
#29 by disla
Регистр - это не крайний, а самый разумный и оптимальный вариант.
#30 by ИС-2
посмотри документ Уставновка цен номенклатуры - там тоже количество колонок по ценам в псевдо ТЧ произвольное.
#31 by МимохожийОднако
Добавь в документ реквизит с типом Таблица значений и в него сохрани.
#32 by Wobland
рассказываю разницу. всё становится сильно проще, если колонки сделать строками
#33 by AlexITGround
да нет там того, чего я хочу, там фиксированное количество реквизитов...
#34 by AlexITGround
хм...да нету там такого типа, уже искал
#35 by disla
насмешил!
#36 by Фокусник
"в колонках числа" Ну значит одна сводная ТЧ для хранения данных: ИмяКолонки (строка) Значение (число)
#37 by МимохожийОднако
тогда см .Чего бояться регистров, если они твои и с поставщиком конфигурации не связаны. Если объснишь по какой причине разные колонки, то возможно и решение будет связаны с этими причинами.
#38 by МимохожийОднако
да ))
#39 by Фокусник
"в топике про регистр я упомянул" Зачем регистр, если тоже самое можно в ТЧ самого документа хранить? ;)
#40 by romashov
установа уен номенклатуры как вариант
#41 by Necessitudo
Ну делаешь просто - создаешь реквизит у документа с типом ХранилищеЗначения, в него запихиваешь табличное поле с формы. Профит.
#42 by mdocs
Несруктурированный документ - это какая-то...
#43 by AlexITGround
Рейв выше предложил, сейчас обкатываю
#44 by AlexITGround
всё в жизни может быть
#45 by Apokalipsec
Тем что лучше готовая ТЧ с полным списком фиксированных колонок, а какие колонки показывать - решать при открытии(создании на сервере) в зависимости от роли пользователя. У тебя в шапке топика ТЧ, а внутри уже ТЗ.
#46 by disla
если делать ТЧ, то например, 30 колонок по 30 строк - подумай, сколько по времени будет документ с такой ТЧ сохраняться/проводиться. Тем более в ТЧ количество строк ограничено.
#47 by kosts
+1 Регистры в данном случае не дадут ничего полезного чем ТЧ. >Вот этого я не понял, можно подробнее плиз? В такой ТЧ адрес ячейки и значение. Что именно не понятно?
#48 by AlexITGround
верно подметил, спс, если есть модеры - измените в названии ТЧ на ТЗ
#49 by ASU_Diamond
А почему бы не сделать как в документе "Установка цен" в типовых конфигах?
#50 by kosts
В типовом табеле в ЗУП, если не ошибаюсь 4*31*2 + 2 = 250 колонок и ничего платформа пережевала не подавилась...
#51 by AlexITGround
коллеги, ну вот где вы там видите, тыкните строчку, нет там такого!
#52 by ASU_Diamond
сохроняться вообще без проблем будет, а проведение от этого вообще не зависит. Кстати как раз в проведении будет проблемнее работать с регистром сведений, чем с ТЧ. И ещё как будет делаться привязка к регистру сведений у не записанного документа?
#53 by ASU_Diamond
что ты там найти не можешь? в одном документе можно устанавливать цены на несколько типов цен. при добавлении различных типов цен добавляются колонки.
#54 by disla
насколько я понял из речь идёт о произвольном количестве колонок.
#55 by ASU_Diamond
ты привел пример 30 колонок по 30 строк, тебе привели пример в 250 колонок в типовой, который нормально работает. В чём проблема?
#56 by kosts
Понятно. Вот только обычно в какое-то ограничение вписывается.
#57 by wade25
Значение в строку.  Решения с 40 колонками в ТЧ, стукнитесь обо что нибудь кто предложил :)
#58 by hhhh
правильный отчет в
#59 by disla
смотри .
#60 by ASU_Diamond
см
#61 by disla
ничего не нашел по теме. смотрел в бух 2.0
#62 by kosts
Это в части торговле наверное
#63 by ASU_Diamond
а в бух-ии есть несколько типов цен (никогда там не возникала необходимости вести в БП различные цены)? в типовых УТ, УПП, КА точно механизм есть
#64 by AlexITGround
попробовал запихать в строку, все колонки сохраняет, а те, которые добавлялись программно - нет, ЧЯДНТ?
#65 by kosts
Если хочешь головной боли продолжай сохранять в строку...
#66 by ASU_Diamond
1986 г.р.
#67 by ИС-2
сейчас точно не помню как устроено, но суть в том, что строки по типам цен разворачиваются в колонки ТЧ содержит: Товар1 ТипЦен1 Выводимая таблица Товар1 ТипЦен1 ТипЦен2 ТипЦен3 при сохранении просходит обратное преобразование
#68 by AlexITGround
спасибо, я помню как, хотел найти другой способ, так как в данном случае это аналогично созданию регистра, в котором нужно будет сохранять. Вообще-то "Тицен" и "индекс" содержит вторая ТЧ, по ним же генерируется, связь через соответствие.
#69 by AlexITGround
на личности переходить не буду, как-то непрофессионально получится, спасибо и тебе тоже
#70 by Ymryn
Поддержу идею с регистром сведений. В регистре измерения - документ и идентификатор колонки - ресурс - значение. Собственно при открытии - читаешь регистр и строишь каждый раз таблицу с нуля. Кодится несложно. Основная трудность - это определиться со структурой идентификаторов.
#71 by kosts
Регистр не лучше ТЧ, а только хуже. Регистр есть смысл использовать только для сохранения структуры колонок, и то если одна структура будет применяться для многих документов. И то даже тут, тогда лучше справочник использовать.
#72 by Ymryn
Чем он принципиально хуже? (без сарказма, действительно интересно.)
#73 by kosts
Не сказать, что прям в 10 раз хуже, но так несколько хуже. Данные оторваны от объекта, отсюда: -При открытии документа лишний запрос к бд. -В запросах к документу лишнее соединение. -Усложняется обмен с другими базами. -В момент записи документа нужно проследить, что бы данные в регистре обновились только в том и только в том случае, если документ записан. Если произошел отказ записи документа (по какой-либо причине), то и регистр не должен быть записан. И наоборот. Если ошибка при записи регистра, то и документ не должен быть записан. Этого лучше всего добиться передав данные для записи в модуль объекта и записывать в одной транзакции. Это все можно обойти, но зачем усложнять себе жизнь... Думаю, выигрыша в объеме хранимых данных в регистре не будет (думаю примерно одинаково, что так, что так).
#74 by kosts
В ТЧ же нужно-то всего два маленьких цикла, перед записью документа и при открытии, для трансформации данных в другой вид...
#75 by Ymryn
Возможно я ошибаюсь, но насколько я знаю, в БД шапка и табличная часть хранятся в разных "таблицах" (извините за путаницу), поэтому 1 и 2 пункты неактуальны. Усложнение обмена - вопрос для обсуждения. Соглашусь разве только с 4 пунктом. Но на мой взгляд, оба варианта по функциональности примерно одинаковые и сугубо дело вкуса.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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