|
Ввод на основании с отбором. | ☑ | ||
---|---|---|---|---|
0
skvitronit
25.06.17
✎
18:12
|
Добрый день, прошу помощи с такой задачей.
Есть два документа, Документ1 и Документ2. Документ 2 вводиться на основании документа 1. При вводе на основании нужно что бы пользователю выводилось окно формы, в этом окне был список контрагентов из ТЧ Документа1(основания), при выборе контрагента, в ТЧ документа2 переносились строки только с выбранным контрагентом. И очень желательно не трогать документ1... |
|||
1
Имитация работы
25.06.17
✎
18:17
|
...эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи.
|
|||
2
Имитация работы
25.06.17
✎
18:18
|
Что конкретно вызывает трудности?
|
|||
3
skvitronit
25.06.17
✎
18:23
|
(2) Создал общую форму, вызываю её ПриОткрытии документа, а как её заполнить данными не особо понятно, форма открывается на клиенте(Через ОткрытьФорму("НазваниеФормы"); и как туда пробросить данные для заполнения и собственно заполнить форму этими данными, в что их записать (реквизит) вот это и вызывает трудности :(
*Начинающий программист 1с. |
|||
4
Имитация работы
25.06.17
✎
18:25
|
Формы обычные или управляемые?
|
|||
5
skvitronit
25.06.17
✎
18:26
|
(4) Управляемые
|
|||
6
skvitronit
25.06.17
✎
19:17
|
Никто с таким не сталкивался ?
|
|||
7
Zhuravlik
25.06.17
✎
19:19
|
(0)
1. Для Документ2 добавить реквизит (если его нет) ДокументОснование, если есть - расширить тип, включив туда Документ1 2. В ОбработкаЗаполнения Документ2 заполнять этот реквизит значением ссылки Документ1 (ДокументОснование = ДанныеЗаполнения) 3. В ПриОткрытии Документ2 выполнять проверку: Если Объект.Ссылка.Пустая() Тогда // Это новый документ.. Если ЗначениеЗаполнено(Объект.ДокументОснование) Тогда // Новый документ вводится на основании.. Если ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.Документ1") Тогда // Действия по заполнению... 4. Общая форма здесь - не нужна. Здесь вообще форма не нужна, если выбираем Контрагента - можно просто выбрать из списка. |
|||
8
Zhuravlik
25.06.17
✎
19:23
|
+ Хотя для разделения кода, в принципе можно и форму добавить - где реализовать основной функционал заполнения, не загружая особо основную форму Документ2. Будет читабельней. Но это не общая форма, а вспомогательная форма для Документ2
|
|||
9
Diman000
25.06.17
✎
19:44
|
(7)
Судя по задаче, действия по заполнению потребуют обращения к БД, поэтому лучше ПриСозданииНаСервере определить, что это ввод нового документа на основании, не уходя с сервера заполнить значения для выбора и передать это в параметры формы. А ПриОткрытии выбирать из готового. Понятно, что в такой задаче это мелочь, которая почти наверняка минимально скажется на общей производительности. Но это приучает к правильному подходу. |
|||
10
Zhuravlik
25.06.17
✎
22:11
|
(9) +1
|
|||
11
skvitronit
26.06.17
✎
08:33
|
(7) Большое спасибо, буду пробовать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |