УТ 11. Хитрая новая табличная часть в документ #775168


#0 by Snork
Основная цель: минимум правок в типовом док., для последующего обновления 1С. Есть типовой док (любой, например оприходование) в него надо добавить новую табличную часть (с функциями пересчета). Как лучше сделать? 1. Новый док с этой ТЧ и вызывать его командой из первичного 2. Программно рисовать эту ТЧ в нужном док 3. Еще как нибудь?
#1 by Timon1405
3. в форме например оприходования идем в ПриСозданииНаСервере ищем там сточку СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка) она вызывает МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка); разблокируем модуль, идем туда, пишем там свой код. профит
#2 by КМ155
существующий документ + новая ТЧ + копия формы с доработкой в качестве основной при обновлении не забывать ставить новую форму на место и переносить в неё нужный функционал, коли он нужен
#3 by Timon1405
такое уже не актуально
#4 by КМ155
это вечно (с)
#5 by ovrfox
Можно просто воспользоваться расширением конфигурации. И форму документа сделать через расширение. Таким образом все обновления будут приходить в нормальном порядке.
#6 by Garykom
Озадачивался подобным
#7 by aleks_default
ТЧ для чего нужна? Просто как таблица формы для пересчета/отображения значений? Тогда она не нужна. Если там будут сохранятся какие-то данные - то нужна.
#8 by vde69
только у тебя будет в регистре сведения не один реквизит а много включая "номер строки"
#9 by zak555
Зачем тебе пересчёт?
#10 by zak555
реквизит можно было через допРеквищиты реализовать
#11 by ovrfox
и   Как минимум нужен Регистр Сведений с колонками: Документ, ИмяТЧ, НомерСтроки,ИмяРекв, Значение А также РС с Колонками Документ, ИмяТЧ, ИмяРекв, НомерРекв, ТипРекв А потом еще собирать ТЧ через динамический списко с запросом, который строится динамически (по к-ву полей в ТЧ)
#12 by ovrfox
Короче - через расширение проще и быстрее. А универсальный вариант для пользователей с 5 высшими образованиями.
#13 by Snork
я это имел ввиду под пунктом 2 не удачный вариант конечно там будут сохраняться какие то данные. ТЧ нужна vde69, как еще можно (без РС)? пересчет нужен заказчику. без него никак
#14 by Snork
не проще и не быстрее. быстрее только обновлять. а вот если через пол года допустим тебя попросят это расширение доработать...
#15 by patapum
а чем добавленная табличная часть (к типовому документу) хуже добавленного документа? и то, и другое хорошо себя чувствует при обновлении, не?
#16 by ovrfox
И что? В чем проблема будет?
#17 by vde69
с каких релизов в расширениях можно добавлять метаданные??? хранить данные где-то надо, по сколько задача стоит по минимуму колбасить, значит в сам документ - нельзя, а что использовать регистр или дополнительный документ особой разницы нет, с регистром немного все проще выходит....
#18 by xxTANATORxx
я за метод описанный в
#19 by ovrfox
Расширение доступно с релиза 8.3.6 Но если обновляться, то имеет смысл до 8.3.8
#20 by Snork
все дело в диалогах и пересчетах
#21 by vde69
я спрашивал про то с каких версий в расширении можно добавлять метаданные? например новый документ или регистр...
#22 by patapum
диалоги и пересчеты - это значит, форму ты правишь по-любому, где бы те данные ни хранить. на выбор, где хранить, это не влияет. а чем тебе добавленная в типовой док табличная часть помешает? впрочем, дело твое, не мне пилить )))
#23 by Garykom
А смысл у зеленых спрашивать?
#24 by vde69
по тому, что он предложил решить сабж на расширениях... может я не в теме веяний 1с, но расширениями сабж не решается, по тому как метаданные через них не добавляются... то есть кто-то из нас двоих сморозил глупость, вот я и выясняю кто именно :)
#25 by Garykom
Ну "табличная часть в документ" это метаданные, данные в бд и элементы в интерфейсе для вида документов. Можно извратиться чисто через расширения, с неким внешним хранилищем.
#26 by Snork
если я делаю новый док, то форму я того док как угодно корячу
#27 by ovrfox
Табличная часть добавляется в исходный документ, она никак не повлияет на обновления, если вдруг кто-то в 1С не решит довать ТЧ с таким же именем. Основной смысл в том, что Форма, которую нужно изменить и которая может обновляться, легче прописывается. При этом большинство обновлений этой формы будут приняты. Варианты в лоб и отдельным документом подобный функционал не поддержат. Я считаю, что дополнительный документ - это изврат. Проще уж просто добавить новую форму на основании существющей и сделать ее основной и корячить как угодно (это для )
#28 by FIXXXL
мож проще сделать общую форму или обработку, которую вызывать глобальной командой из документа и уже там колбасить что угодно в новой ТЧ
#29 by Snork
хорошая идея. есть примеры?
#30 by Garykom
о это тру метод очень по семерочному какой еще пример, обработку делаешь с формами которые формы документов повторяют
#31 by pavig
Если новая таб часть не взаимодействует с остальным типовым функционалом формы напрямую, я бы не стал сильно запариваться: 1. Добавляешь таб. часть в док со своим префиксом. 2. Добавляешь форму к документу, которая будет работать ТОЛЬКО с новой табличной частью. 3. Добавляешь команду к документу, которая открывает написанную новую форму. Минус понятен и очевиден: пользователь не увидит новую таблицу непосредственно на своей форме. Но если это не критично (а это в большинстве случаев не критично), то вариант рабочий.
#32 by ovrfox
А если для создания формы использовать расширение, то еще и минусов не будет
#33 by pavig
А вот по этому механизму я вообще ниче не скажу ибо его абсолютно не знаю)
#34 by y22-k
просто добавляй новую ТЧ и создавай для нее свою основную форму документа
#35 by Cyberhawk
Без изменения конфигурации: в регистр "ДополнительныеСведения" пишешь строки ТЧ (для каждого столбика придется завести свое доп. сведение), в подключаемой внешней обработке динамически (программно) рисуешь таблицу и реализуешь форму для чтения и редактирования данных
#36 by Cyberhawk
+ Косяк в том, что доп. сведения придется заводить для каждой комбинации "столбик + номер строки", поэтому если строк может быть много, то такой способ кажется избыточным
#37 by pavig
жесть какая
#38 by Cyberhawk
Ну, это если не меняя конфигурацию. Не вижу в этой конфигурации какого-то другого (более удобного) или другого подходящего объекта метаданных для хранения строк ТЧ в разрезе строк...
#39 by Garykom
В документах или где то в регистрах нет ни одного строкового реквизита неограниченной длины?
#40 by Cyberhawk
Так чтоб хранить в регистре строки в разрезе номеров строк, нужно, чтобы измерние было строковым. Плюс измерение "Объект" (ссылка на документ). Плюс идентификатор столбика (реквизита ТЧ). Я быстренько посмотрел в ЕРП 2.1 и подходящего не нашел...
#41 by Garykom
Зачем? Сериализовать всю ТЧ в одну строку а при открытии десериализовывать.
#42 by Cyberhawk
Конечно такое приемлемо, особенно если состав столбиков склонен часто меняться, но если потом захочет еще и в отчете смотреть или анализировать определенное значение в столбике, то тяжко будет
#43 by FIXXXL
семерку в глаза не видел По тз я так понял, что новые тч будут однотипными для всех доков, отсюда и одна форма плюс общая кнопка
#44 by FIXXXL
Как вариант: сделать не тч, а регистр Регистраторами прописать нужные доки Движуху отображать и писать прям в регистр, минуя тч, как бухОперация или док Корректировки регистров Без четког понимания однородности данных в тч разных докв слжно советовать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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