|   |   | 
| 
 | УТ 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 | 
        Как вариант: сделать не тч, а регистр
 Регистраторами прописать нужные доки Движуху отображать и писать прям в регистр, минуя тч, как бухОперация или док Корректировки регистров Без четког понимания однородности данных в тч разных докв слжно советовать | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |