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