Вход | Регистрация


БП 3.0 ОткрытьФормуДокумента, как ?

БП 3.0 ОткрытьФормуДокумента, как  ?
Я
   Trotter
 
30.10.18 - 11:29
Здравствуйте!
Подскажите пожалуйста, что - то в первый раз довелось с этим столкнутся.
После вывода печатной формы вызываю:
&НаКлиенте
 РежимДиалогаВопрос.ДаНет;
СоздатьДокумент(ДокОснование);

&НаСервере
Создаю документ, не записываю его, хочу открыть, как это реализовать ?

Правильно ли я понимаю, что &НаСервере это не реализовать ?
 
 
   palsergeich
 
1 - 30.10.18 - 11:31
(0) Правильно понимаете
   Остап Сулейманович
 
2 - 30.10.18 - 11:31
(0) РежимДиалогаВопрос.ДаНет; - это сильный ход.
   Trotter
 
3 - 30.10.18 - 11:32
(1) А как правильно реализовать, ДокПер.ПолучитьФорму().Открыть(); тут так не получится...
   Остап Сулейманович
 
4 - 30.10.18 - 11:38
(3)
П = Новый Структура;
П.Вставить(...); Тут формируем данные для нового документа
ОткрытьФОрму("Документ.<ИмяДокумента>.ФормаОбъекта", П);

В ПрисозданииНаСервере прочитать параметры и заполнить форму.
   Eiffil123
 
5 - 30.10.18 - 11:40
Как вариант, в текущей форме добавить реквизит формы с типом ДокументОбъект. На сервере сделать ЗначениеВРеквизитФормы("ДокументОбъект", Док);


А на клиенте попробовать его в параметры открываемой формы передать (не уверен, что взлетит, но попробовать можно).
   Trotter
 
6 - 30.10.18 - 11:48
(4) Пример заполнения структуры можно ? Не пойму, что туда писать.
   Остап Сулейманович
 
7 - 30.10.18 - 11:56
(6) Пример типа ввода на основании

Вызов :
НаКлиенте
П = Новый Структура;
П.Вставить("Основание", ДокументОснованиеСсылка);
//Вместо "Подчиненный" должен быть конкретный вид документа

ОткрытьФорму("Документ.Подчиненный.ФормаОбъекта", П);

В вызываемой форме в обработчике ПриСозданииНаСервере

//Проверка - создаем новый или открываем существующий 

Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
  //Проверим - передали ли нам данные для автозаполнения

  Если Параметры.Свойство("Основание") Тогда
    //В обработка заполнения - код по присвоению значений новому документу

    Объект.ОбработкаЗаполнения(Параметры.Основание);
  КонецЕсли;
КонецЕсли;
   Eiffil123
 
8 - 30.10.18 - 12:04
(7) тут немного другая задача. Автор программно создает документобъект на сервере, заполняет его. И далее нужно открыть форму этого заполненного документа.
   Остап Сулейманович
 
9 - 30.10.18 - 12:07
(8) Задача ровно та же. Только выполнена так, как должно быть.
Тоже заполнение на сервере и только после этого открытие формы.
   Eiffil123
 
10 - 30.10.18 - 12:09
(9) А если нет документа-основания, что передавать в параметры заполнения?
 
 Рекламное место пустует
   Остап Сулейманович
 
11 - 30.10.18 - 12:28
(10) Но что-то же есть? Можно например так :
П = Новый Структура;
Д = Новый Структура;
Д.Вставить("Дата", ТекущаяДата() + 10*24*3600);
Д.Вставить("Контрагент", Контрагент.Ссылка);
Д.Вставить("Команда", "Позвонить");

П.Вставить("ДанныеЗаполнения", Д);
...
   Eiffil123
 
12 - 30.10.18 - 12:30
(11) а заполненную табличную часть?
   V01tk2010
 
13 - 30.10.18 - 12:36
ДанныеФормыВЗначение(<Объект>, <Тип>) 
ЗначениеВДанныеФормы(<Значение>, <Объект>)
   Остап Сулейманович
 
14 - 30.10.18 - 12:39
(12) Заполненную где?
   Остап Сулейманович
 
15 - 30.10.18 - 12:41
+ (14) Можно передать ссылку на существующий документ, можно передать адрес ХранилищаЗначения куда сложены ТблицаЗначений, СпискЗначений...
   Eiffil123
 
16 - 30.10.18 - 12:45
(14) на сервере. Например, нужна обработка, которая программно сформирует документ "Перемещение товаров" (с одного склада на другой), притом чтобы документ не записывался сразу, а был показан пользователю. Он в случае необходимости поправит документ и запишет его сам (а может и не запишет).
   Eiffil123
 
17 - 30.10.18 - 12:47
(15) с адресом хранилища - да, можно.
А можно еще в обработке сделать реквизит типа "ДокументОбъект" и с ним работать.
   Остап Сулейманович
 
18 - 30.10.18 - 12:48
(16) Классика :
1. Заполняем ТаблицуЗначений НаСервере
2. Помещаем во временное хранилище, адрес хранилища возвращаем на клиента
3. На клиенте открываем форму нового документа и передаем ей адрес хранилища
4. В Присоздании по переданному адресу заполняем табличную часть.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует