Имя: Пароль:
1C
1С v8
Работа с ТЧ обработки из двух форм
🠗Ø (Волшебник 29.11.2024 10:08)
,
0 zelenprog
 
29.11.24
09:49
Добрый день!

Есть обработка с Табличной частью.
В основной форме обработки эта табличная часть отображается в "урезанном" виде (только часть колонок).
Для более функциональной работы с этой табличной частью есть специальная дополнительная форма той же обработки, которая вызывается по кнопке из основной формы. В этой второй форме отображаются все данные из всех колонок этой ТЧ.

Я понял так, что по сути это две разные формы никак не связанные друг с другом. И "параллельная" работа этих двух форм с одной ТЧ невозможна в принципе.
Правильно?

Если не редактировать, то можно ли как-то сделать хотя бы просто отображение одной и той же ТЧ на двух формах?
Как лучше "организовать" взаимодействие этих форм, чтобы они показывали эту ТЧ?
А далее нужно будет сделать, чтобы во второй форме можно было в ТЧ вносить незначительные изменения, и чтобы эти изменения отобразились в главной форме.

Подскажите, как это сделать?
1 Волшебник
 
28.11.24
17:31
Как называется обработка? Что за табличные части?
2 Fedor-1971
 
28.11.24
17:46
(0) Понял правильно
Чисто схематично:
1. Открываем форму1, заполняем ТЧ
2. Жмём кнопку, например, "Хиповое представление". В оной ОткрытьФорму("....", новый Структура("мояТЧ", Объект.ТЧ.Выгрузить(),,,,ОповещениеОЗакрытии); - тут надо поизвращаться, для отправки таблицы значений в параметр формы
3. В ПриСозданииНаСервере формы 2, обрабатываем параметр.Свойство("мояТЧ") - т.е. разбираем что передали и записываем в ТЧ
4. В форме2 делаем свою кнопку, например, "Готово" которая опять соберёт ТЧ для отправки в Форму1
ЭтаФорма.Закрыть(Объект.ТЧ.Выгрузить())
5. В обработке оповещения формы1 ОповещениеОЗакрытии, ловим что нам наизменяли и перезаполняем ТЧ в форме1

Повторюсь - это чисто схема

Примерную схему действий можно посмотреть в документе ВводНачальныхОстатков в режиме ОС, там есть 2 формы:
ФормаОсновныеСредства - общая форма редактирования
ФормаРедактированияСтрокиОС - форма редактирования чисто данных по ОС
3 Ёпрст
 
28.11.24
18:40
(0) форма хотя бы обычная или неуправляемая? В первой сделать легко, во второй тоже, только проще, на разных вкладках формы иметь разные табличные поля с одним источником.
4 zelenprog
 
28.11.24
18:51
(3) >> форма хотя бы обычная или неуправляемая?

Управляемые формы
5 zelenprog
 
28.11.24
19:00
(3) >> В первой сделать легко, во второй тоже...

А как?

(3) >> ... только проще, на разных вкладках формы иметь разные табличные поля с одним источником.

Этот вариант понятен. Да, наверно это самое простое решение.
Но все-таки интересно это сделать с помощью двух разных форм. Даже с точки зрения более глубокого понимания возможностей платформы.
6 Волшебник
 
28.11.24
21:13
(5) Сделайте это красиво.
7 lEvGl
 
гуру
28.11.24
22:14
(5)
А как?

зачем если у вас уф
на оф ставятся одни и те же данные и все
+ в этой истории может пригодиться КопироватьДанныеФормы(Источник, Приемник) (хоть тут порядок человеческий сделали)
хотя по методу (2) оптимальнее. ну как оптимальнее.. писанины меньше
8 zelenprog
 
29.11.24
08:38
(7)
... зачем если у вас уф ...

Вопрос "зачем" намекает на то, что в управляемых формах поставленная задача не имеет смысла?
А почему?
Ведь выше в (2) написано, что даже в типовой есть подобные решения.

>> ... по методу (2) оптимальнее. ну как оптимальнее.. писанины меньше

Писанина (количество кода) не пугает.
Главное, чтобы это было сделано грамотно, правильно, красиво.
Ты предлагаешь другой метод, отличный от (2)? Какой?
9 lEvGl
 
гуру
29.11.24
09:21
Вопрос "зачем" намекает на то, что в управляемых формах поставленная задача не имеет смысла?
А почему?

это вряд ли задача, небольшой момент реализации всего лишь, потому что

Ведь выше в (2) написано, что даже в типовой есть подобные решения.

как в (2) написано в СП

Ты предлагаешь другой метод, отличный от (2)? Какой?

(7), об этом тоже в сп есть

оф с их простотой курят
10 zelenprog
 
29.11.24
09:42
>> Ты предлагаешь другой метод, отличный от (2)? Какой?
(7)

А можно чуть подробнее?
Как я понимаю "КопироватьДанныеФормы" - из названия следует, что этот метод копирует данные формы.
Но ведь ТЧ - это реквизит объекта, а не формы. Поможет ли этот метод для копирования данных объекта?
11 СвинТуз
 
29.11.24
09:45
(0)
Бредятина ...
Колонки можно скрывать. Пользователю можно дать возможность менять форму.
12 zelenprog
 
29.11.24
09:52
(11) >> Колонки можно скрывать. Пользователю можно дать возможность менять форму.

Это понятно. Но дело не только в отображении.
Дело в функциональности. Эти две формы сильно отличаются по функциональности.
Пихать всю функциональность в одну форму - не правильно.

Кроме того, как я писал выше - "... все-таки интересно это сделать с помощью двух разных форм, даже с точки зрения более глубокого понимания возможностей платформы ..."
13 Волшебник
 
29.11.24
09:53
(12) Если Вам интересно, то Вы и делайте.
14 Волшебник
 
29.11.24
09:54
Ветка утоплена. Вопрос (1) был автором пропущен.

Очередная абстрактная херня, которая нахуй никому не нужна.
15 zelenprog
 
29.11.24
10:01
(14) Вопрос (1) был автором пропущен.

Исправляюсь...

(1) >> Как называется обработка? Что за табличные части?

Название обработки - не принципиально, это моя самописная обработка. Предназначена для загрузки данных из внешнего файла в типовую "Комплексную автоматизацию".
В табличную часть объекта обработки читаются данные из файла.
В главной форме отмечаем флажками что хотим загрузить и выполняем загрузку.
Дополнительная форма предназначена для редактирования загружаемых данных. При редактировании много "тонкостей", много дополнительных полей и т.д. Поэтому "лепить" эту функциональность в основную форму не хотелось бы.
16 zelenprog
 
29.11.24
10:07
... херня, которая ... никому не нужна.

Ну как сказать...
Мы все в школе изучали такие дебри по некоторым предметам, которые в начале тоже, казалось, что не нужны.
А потом в конце школы в старших классах началась специализация, кто-то выбрал физику, кто-то биологию, и т.д.
А предсказать это в 1-5-ом классе, что тебе будет нужно через 5-10 лет - проблематично. Поэтому до 5-го класса желательно изучать все предметы одинаково хорошо.

Так и в этом случае с двумя формами.
Да, сейчас эту конкретную задачу можно сделать по другому "обходным" путем.
Но если мы разберемся, то полученные знания платформы пригодятся, и могут быть полезными в дальнейшем.
17 lEvGl
 
гуру
29.11.24
10:08
(10) ДанныеФормыСтруктура) это и есть объект, этому реквизиту обычно такое название и дают
18 Волшебник
 
29.11.24
10:08
(15) Вот и досвидос
19 Волшебник
 
29.11.24
10:09
(16) Займитесь изучением программирования и не ебите всем мозги.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший