Имя: Пароль:
1C
1С v8
УТ 11. Хитрая новая табличная часть в документ
0 Snork
 
24.06.16
11:56
Основная цель: минимум правок в типовом док., для последующего обновления 1С.

Есть типовой док (любой, например оприходование) в него надо добавить новую табличную часть (с функциями пересчета).

Как лучше сделать?
1. Новый док с этой ТЧ и вызывать его командой из первичного
2. Программно рисовать эту ТЧ в нужном док
3. Еще как нибудь?
1 Timon1405
 
24.06.16
12:03
3. в форме например оприходования идем в ПриСозданииНаСервере
ищем там сточку
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка)
она вызывает

МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
разблокируем модуль, идем туда, пишем там свой код.
профит
2 КМ155
 
24.06.16
12:03
(0) существующий документ + новая ТЧ + копия формы с доработкой в качестве основной

при обновлении не забывать ставить новую форму на место и переносить в неё нужный функционал, коли он нужен
3 Timon1405
 
24.06.16
12:04
(2) такое уже не актуально
4 КМ155
 
24.06.16
12:06
(3) это вечно (с)
5 ovrfox
 
24.06.16
12:08
Можно просто воспользоваться расширением конфигурации.
И форму документа сделать через расширение. Таким образом все обновления будут приходить в нормальном порядке.
6 Garykom
 
гуру
24.06.16
12:09
7 aleks_default
 
24.06.16
12:10
ТЧ для чего нужна? Просто как таблица формы для пересчета/отображения значений? Тогда она не нужна. Если там будут сохранятся какие-то данные - то нужна.
8 vde69
 
24.06.16
12:19
http://catalog.mista.ru/public/236363/

только у тебя будет в регистре сведения не один реквизит а много включая "номер строки"
9 zak555
 
24.06.16
12:23
Зачем тебе пересчёт?
10 zak555
 
24.06.16
12:25
(8) реквизит можно было через допРеквищиты реализовать
11 ovrfox
 
24.06.16
12:25
(6) и (8)  Как минимум нужен Регистр Сведений с колонками:
Документ, ИмяТЧ, НомерСтроки,ИмяРекв, Значение
А также РС с Колонками
Документ, ИмяТЧ, ИмяРекв, НомерРекв, ТипРекв
А потом еще собирать ТЧ через динамический списко с запросом, который строится динамически (по к-ву полей в ТЧ)
12 ovrfox
 
24.06.16
12:27
Короче - через расширение проще и быстрее. А универсальный вариант для пользователей с 5 высшими образованиями.
13 Snork
 
24.06.16
12:32
(1) я это имел ввиду под пунктом 2
(2) не удачный вариант
(7) конечно там будут сохраняться какие то данные. ТЧ нужна
(8) vde69, как еще можно (без РС)?
(10) пересчет нужен заказчику. без него никак
14 Snork
 
24.06.16
12:34
(12) не проще и не быстрее. быстрее только обновлять. а вот если через пол года допустим тебя попросят это расширение доработать...
15 patapum
 
24.06.16
12:42
(0) а чем добавленная табличная часть (к типовому документу) хуже добавленного документа? и то, и другое хорошо себя чувствует при обновлении, не?
16 ovrfox
 
24.06.16
12:46
(14) И что? В чем проблема будет?
17 vde69
 
24.06.16
13:43
(12) с каких релизов в расширениях можно добавлять метаданные???

(13)хранить данные где-то надо, по сколько задача стоит по минимуму колбасить, значит в сам документ - нельзя, а что использовать регистр или дополнительный документ особой разницы нет, с регистром немного все проще выходит....
18 xxTANATORxx
 
24.06.16
13:46
я за метод описанный в (1)
19 ovrfox
 
24.06.16
14:17
Расширение доступно с релиза 8.3.6
Но если обновляться, то имеет смысл до 8.3.8
20 Snork
 
24.06.16
14:34
(15) все дело в диалогах и пересчетах
21 vde69
 
24.06.16
14:46
(19) я спрашивал про то с каких версий в расширении можно добавлять метаданные? например новый документ или регистр...
22 patapum
 
24.06.16
14:47
(20) диалоги и пересчеты - это значит, форму ты правишь по-любому, где бы те данные ни хранить. на выбор, где хранить, это не влияет.
а чем тебе добавленная в типовой док табличная часть помешает?
впрочем, дело твое, не мне пилить )))
23 Garykom
 
гуру
24.06.16
14:49
(21) А смысл у зеленых спрашивать?
24 vde69
 
24.06.16
15:29
(23) по тому, что он предложил решить сабж на расширениях...

может я не в теме веяний 1с, но расширениями сабж не решается, по тому как метаданные через них не добавляются...

то есть кто-то из нас двоих сморозил глупость, вот я и выясняю кто именно :)
25 Garykom
 
гуру
24.06.16
15:48
(24) Ну "табличная часть в документ" это метаданные, данные в бд и элементы в интерфейсе для вида документов.

Можно извратиться чисто через расширения, с неким внешним хранилищем.
26 Snork
 
24.06.16
16:22
(22) если я делаю новый док, то форму я того док как угодно корячу
27 ovrfox
 
24.06.16
16:31
(24) Табличная часть добавляется в исходный документ, она никак не повлияет на обновления, если вдруг кто-то в 1С не решит довать ТЧ с таким же именем.
Основной смысл в том, что Форма, которую нужно изменить и которая может обновляться, легче прописывается. При этом большинство обновлений этой формы будут приняты.

Варианты в лоб и отдельным документом подобный функционал не поддержат.

Я считаю, что дополнительный документ - это изврат. Проще уж просто добавить новую форму на основании существющей и сделать ее основной и корячить как угодно (это для (26))
28 FIXXXL
 
24.06.16
16:34
мож проще сделать общую форму или обработку, которую вызывать глобальной командой из документа и уже там колбасить что угодно в новой ТЧ
29 Snork
 
24.06.16
16:43
(28) хорошая идея. есть примеры?
30 Garykom
 
гуру
24.06.16
16:45
(28) о это тру метод очень по семерочному

(29) какой еще пример, обработку делаешь с формами которые формы документов повторяют
31 pavig
 
24.06.16
16:45
(0)
Если новая таб часть не взаимодействует с остальным типовым функционалом формы напрямую, я бы не стал сильно запариваться:
1. Добавляешь таб. часть в док со своим префиксом.
2. Добавляешь форму к документу, которая будет работать ТОЛЬКО с новой табличной частью.
3. Добавляешь команду к документу, которая открывает написанную новую форму.
Минус понятен и очевиден: пользователь не увидит новую таблицу непосредственно на своей форме. Но если это не критично (а это в большинстве случаев не критично), то вариант рабочий.
32 ovrfox
 
24.06.16
16:55
(31) А если для создания формы использовать расширение, то еще и минусов не будет
33 pavig
 
24.06.16
16:56
(32) А вот по этому механизму я вообще ниче не скажу ибо его абсолютно не знаю)
34 y22-k
 
24.06.16
17:14
(0) просто добавляй новую ТЧ и создавай для нее свою основную форму документа
35 Cyberhawk
 
24.06.16
18:23
Без изменения конфигурации: в регистр "ДополнительныеСведения" пишешь строки ТЧ (для каждого столбика придется завести свое доп. сведение), в подключаемой внешней обработке динамически (программно) рисуешь таблицу и реализуешь форму для чтения и редактирования данных
36 Cyberhawk
 
24.06.16
18:25
+(35) Косяк в том, что доп. сведения придется заводить для каждой комбинации "столбик + номер строки", поэтому если строк может быть много, то такой способ кажется избыточным
37 pavig
 
24.06.16
19:20
(35) (36) жесть какая
38 Cyberhawk
 
24.06.16
19:34
(37) Ну, это если не меняя конфигурацию.
Не вижу в этой конфигурации какого-то другого (более удобного) или другого подходящего объекта метаданных для хранения строк ТЧ в разрезе строк...
39 Garykom
 
гуру
24.06.16
20:44
(38) В документах или где то в регистрах нет ни одного строкового реквизита неограниченной длины?
40 Cyberhawk
 
24.06.16
20:53
(39) Так чтоб хранить в регистре строки в разрезе номеров строк, нужно, чтобы измерние было строковым. Плюс измерение "Объект" (ссылка на документ). Плюс идентификатор столбика (реквизита ТЧ).
Я быстренько посмотрел в ЕРП 2.1 и подходящего не нашел...
41 Garykom
 
гуру
24.06.16
20:56
(40) Зачем? Сериализовать всю ТЧ в одну строку а при открытии десериализовывать.
42 Cyberhawk
 
24.06.16
21:01
(41) Конечно такое приемлемо, особенно если состав столбиков склонен часто меняться, но если потом захочет еще и в отчете смотреть или анализировать определенное значение в столбике, то тяжко будет
43 FIXXXL
 
24.06.16
23:47
(30) семерку в глаза не видел
По тз я так понял, что новые тч будут однотипными для всех доков, отсюда и одна форма плюс общая кнопка
44 FIXXXL
 
24.06.16
23:51
Как вариант: сделать не тч, а регистр
Регистраторами прописать нужные доки
Движуху отображать и писать прям в регистр, минуя тч, как бухОперация или док Корректировки регистров
Без четког понимания однородности данных в тч разных докв слжно советовать