Имя: Пароль:
1C
1С v8
Как использовать свою табличную часть обработки в расширении конфигурации
0 alf2006x
 
25.10.22
16:39
Проблема: через расширение добавил ТЧ во встроенную обработку типовой УТ.

А также свою форму (тоже ессно через расширение), на которой разместил эту самую ТЧ.
В процессе работы встроенной формы программно добавляю строки в свою ТЧ без проблем.
Но когда вызываю свою форму - она оказывается с пустой ТЧ.
Программно пробовал добавлять как напрямую в ТЧ, так и через сервер (РеквизитФормыВЗначение и обратно).
Результат одинаковый. ТЧ на моей форме пустая. Но по возвращении в исходную форму - там (в моей ТЧ) всё есть.
То есть ничего никуда не пропадает.
ЧЯДНТ?
Как сделать чтобы и программно добавлять и потом просматривать ТЧ через собственную форму? (всё конечно же УФ)

Заранее спасибо.
1 vicof
 
25.10.22
16:49
Давай с картинками, интереснее будет.
2 Valery
 
25.10.22
16:53
Так понимаю, добавляешь строки в свою ТЧ из одной формы - исходной (где твоя ТЧ показывается заполненой), потом открываешь другую форму(добавленную в расширении той же ТЧ) и она оказывается пустой?
3 alf2006x
 
25.10.22
17:39
(2) Да. И не понимаю почему она там пустая.
Возвращаюсь - ТЧ заполнена тем, чем заполнял.
4 alf2006x
 
25.10.22
17:39
По ходу какая-то тут секретка есть ) ...
5 alf2006x
 
25.10.22
17:40
(2) В исходной форме заполненность моей ТЧ вижу через отладчик.
6 Фрэнки
 
25.10.22
17:50
(4) А нет подозрений, что это не фича, а просто баг, что расширение в принципе допускает создание тч к объекту метаданных, у которого экземпляр принципиально не имеет назначения "для хранения данных" ?
7 Мимохожий Однако
 
25.10.22
18:52
Важно указать на какой платформе, какая совместимость конфигурации. Посмотри через отладчик, что осталось в документе после записи. Еще можно проверить через консоль запроса к добавленной табличной части документа.
8 Фрэнки
 
25.10.22
19:40
(7) хохма в том, что это не документ
9 Мимохожий Однако
 
26.10.22
08:06
(8) Да )
Но никто не мешает при открытии формы проверить состояние табличной части. При желании можно добавить сохранение ТЧ при закрытии и восстановление при открытии формы.
10 Valery
 
26.10.22
08:51
"Программно пробовал добавлять как напрямую в ТЧ, так и через сервер (РеквизитФормыВЗначение и обратно)." Это в какой форме производил?
11 Tarlich
 
26.10.22
08:53
ТЧ у объекта или у формы добавлена
12 alf2006x
 
26.10.22
10:43
(11) ТЧ у объекта: Обработка.ПодборТоваровВДокументПродажи
13 alf2006x
 
26.10.22
10:44
(10) Это делаю в расширении основной формы
14 alf2006x
 
26.10.22
10:47
Может хоть как-то "через Копенгаген" можно в моей форме в ТЧ данные залить?
Но мне нужно чтобы я мог данные поменять а после возврата в основную форму все изменения,
которые были сделаны в моей форме были и в основной "расширенной" форме.
15 alf2006x
 
26.10.22
10:49
На крайняк я могу, конечно, сделать произвольный реквизит у объекта и пихать в него ТЗ "тут". А "там" распаковывать/изменять/запаковывать.
Но это имхо уже совсем колхозно получится.
16 alf2006x
 
26.10.22
10:52
(9) Речь про мою форму?
А как сделать сохранение / восстановление ТЧ?
Данные для заполнения ТЧ откуда взять?
17 Фрэнки
 
26.10.22
10:53
(15) что-то препятствует сделать свою версию для ПодборТоваровВДокументПродажи ?
Имхо, быстрее решишь проблему подбора, чем будешь продираться через дебри навороченных процедур и функций типовой конфы.
18 alf2006x
 
26.10.22
10:53
(7) Платформа 8.3.17.1851
Режим совместимости: Версия 8.3.14
19 alf2006x
 
26.10.22
10:54
(17) Ну можно конечно, но задумка в том, чтобы обновляться по типовому.
20 Фрэнки
 
26.10.22
10:57
(19) так все равно в расширении... типовое само по себе...
А вот эти навороты с использованием типовых обработок хитросделанных - они часто отваливаются при повышении режимов совместимости типовыми.
21 alf2006x
 
26.10.22
11:05
(20) Ну допустим я полностью скопирую основную форму в расширение. Добавлю туда свою ТЧ.
Тогда пара вопросов всё таки остаётся:
1. Как заменить типовую основную форму моей основной формой из расширения?
2. Не получится ли то же самое что сейчас (вижу- не вижу данные в моей ТЧ)?
22 Кулибин
 
26.10.22
11:32
(21) попробуй подключить обработчик ожидания, вызови его один раз для обновления формы, потом отключи. Тоже было очень похожее с видимостью и доступностью - так решил.
23 Фрэнки
 
26.10.22
11:38
// 1. Как заменить типовую основную форму моей основной формой из расширения?

В форме Владельца это же обработчики событий установлены для вызова Обработка.ПодборТоваровВДокументПродажи - это же не из элемента формы вызов, а процедура-обработчик установлена там.
Перехвати эту процедуру-обработчик расширением и замени там на вызов своей новой версии обработки.
24 alf2006x
 
26.10.22
14:04
(22) (23) Спасибо, буду пробовать.