Имя: Пароль:
1C
1С v8
Как создать копию страницы формы?
↓ (Волшебник 31.10.2024 23:45)
0 Alex Проблемный
 
31.10.24
23:34
Добрый вечер.
1С 8.3
Задача: документ "Заказ на грузоперевозку" В нем отражается информация о заказчике и о перевозчиках. С заказчиком всё понятно, а вот с перевозчиками условие, что каждый перевозчик оформляется на отдельной странице, состав реквизитов перевозчика заранее известен и одинаков у всех. Количество перевозчиков заранее неизвестно.

В реквизиты документа добавил реквизиты первого перевозчика и добавил ТЧ "ИнфОПеревозчиках" с реквизитами перевозчиков как колонки ТЧ (для всех последующих перевозчиков)
На форме добавил группу страниц где разместил реквизиты перевозчика из реквизитов документа.

1. Правильно ли я сделал что на объекте добавил как реквизиты данные первого перевозчика и разместил ТЧ "ИнфОПеревозчиках" и добавил реквизиты перевозчиков как колонки ТЧ для всех последующих перевозчиков или же правильнее было сделать как то по другому? Через РС на пример?

2. Есть ли возможность создавать страницы Перевозчиков копированием первой (основной) страницы?
1 Волшебник
 
31.10.24
23:35
1С 8.3 - это платформа
всё остальное — неправильно из-за непонимания сути
2 Alex Проблемный
 
31.10.24
23:43
(1) Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан

Ну а если серьёзно: т.е. для 1С данная задача влечет за собой больше проблем, т.к. задача поставлена не правильно?
3 osa1C
 
31.10.24
23:45
(0) Что  значит копированием страниц? Где у тебя данные перевозчиков будут храниться? Если в реквизитах документа, то их долно быть нужное количество (по количеству перевозчиков), есть другой вариант создать регистр, в котором хранить данные.
  В первом случае надо знать максимально возможное количество перевозчиков и для каждого создать весь набор реквизитов. Тогда при добавлении нового перевозчика программно добавлять новую страницу и программно на неё добавлять все реквизиты. А при открытии проверять заполненность реквизитов и если они заполнены для нового перевозчика, то создавать новую страницу.
   Во втором варианте при создании нового перевозчика программно создавать страницу и записывать данные в регистр, а при открытии читать записи регистра и если перевозчиков больше одного программно создавать страницы и заполнять их из регистра.
5 RomaH
 
31.10.24
23:46
"ИнфОПеревозчиках" - не экономте на буквах
6 RomaH
 
31.10.24
23:47
2. Есть ли возможность создавать страницы Перевозчиков копированием первой (основной) страницы?

есть
7 RomaH
 
31.10.24
23:49
смотри... у тебя есть объект типа "документ"
инфа о перевозчиках когда появляется? она напрямую связана с доком, или отдельно, транзакции/блокировки, туда/сюда
9 Alex Проблемный
 
31.10.24
23:55
(7) Она напрямую связана с доком, пользователь вручную её заносит. На момент создания документа пользователю нужно занести информацию и при повторном открытии она должна отобразиться
10 RomaH
 
31.10.24
23:55
тогда РС не нужен
11 RomaH
 
31.10.24
23:56
смотри на контактную для ФЛ в типовых

ране была в РС, но потом сделали в ТЧ
ибо она напрямую связана с ФЛ
12 osa1C
 
31.10.24
23:57
(10) И как ты предлагаешь хранить данные, если количество перевозчиков заранее не известно?
13 RomaH
 
31.10.24
23:58
тч же
14 osa1C
 
01.11.24
00:00
(13) Но он ведь хочет на отдельных страницах.... Или предлагаешь на основании данных ТЧ формировать страницы с реквизитами?
15 Скользящий
 
01.11.24
00:00
(0) Это реальная рабочая задача, или тестовая?
16 Alex Проблемный
 
01.11.24
00:00
(3) Что  значит копированием страниц? - набор реквизитов Перевозчиков одинаков и в каждом заказе должен быть хотя бы 1 перевозчик, по этому возможно ли добавлять элементы формы (Страницу с реквизитами) путем копирования?
Где у тебя данные перевозчиков будут храниться? - Вот здесь и был один из моих вопросов: А как правильнее? Как я предполагал первый перевозчик в реквизитах документа, второй и последующие в ТЧ или РС, но исходя из Вашего ответа я был на половину прав. Правильно лия понял что Вы предлагаете (Ваш второй вариант) хранить данные всех перевозчиков в РС?
17 RomaH
 
01.11.24
00:00
а не все-ли равно на основании каких данных страницы генерить?
18 Alex Проблемный
 
01.11.24
00:01
(15) Тестовая
19 RomaH
 
01.11.24
00:04
(16) смотри - РС - это не будет ошибкой
почему в ТЧ - это значит, что перевозчики у тебя напрямую связаны с документом,
... т.е. ну как бы неотъемлемая часть...

РС - ты можешь менять одновременно и документ и список перевозчиков, а ТЧ - только в одном месте
20 RomaH
 
01.11.24
00:06
еще раз - ранее контактная - была в РС - как бы жила отдельно
сейчас контактная информация не отемлема от владельца
не возвожно одновременнно поменять дату рождения и адрес регшистрации в разных сеансах
21 osa1C
 
01.11.24
00:07
(16) Предложили хранить в ТЧ, это более правильное решение, чем РС. И кстати, никаких реквизитов вообще не надо. При создании нового документа программно создаешь одну страницу и добавляешь на нее все нужные реквизиты формы, если перевозчиков больше одного, то добавляешь ещё страницу также программно, а все данные записываешь в ТЧ.
  При повторном открытии читаешь ТЧ и по количеству строк создаешь страницы и заполняешь данными из ТЧ.
22 RomaH
 
01.11.24
00:11
(21) Предложили хранить в ТЧ, это более правильное решение, чем РС

не факт - если перевозчиков могут заносить "параллельно" ... то РС

РС - более универсальных способ, ТЧ - это ограничения. и вот тут автору надо подумать - как лучше
23 Alex Проблемный
 
01.11.24
00:14
(21) (22) Думаю ТЧ, т.к. исходя их текста задачи с заказом одновременная работа не заявлена)
24 alex_mas
 
01.11.24
09:12
Ни в коем случае не надо размножать страницы перевозчиков. Если их например штук 50, все же ляжет. Нужна только одна форма с реквизитами, в которую при выборе перевозчика из списка динамически подгружать требуемые данные.
25 Скользящий
 
01.11.24
14:39
Думаю, раз задача тестовая, будут смотреть как реализовано, и реализация с ТЧ хоть и проще, может быть расценена как реализованая плохо. Через РС правильнее, я думаю, будет реализовать и надо быть готовым объяснить, почему именно через РС реализовал.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший