Имя: Пароль:
1C
 
УФ функция
,
0 sky2010
 
03.03.15
11:30
Здравствуйте! Вопрос в форме документа УФ есть функция. Нужно ее вызвать из формы списка.Вопросы, как это сделать. Просьба сильно не пинать.
На толстом клиенте просто!
ПолучитьФорму("ФормаДокумента").Печать();
1 Asmody
 
03.03.15
11:31
никак. делайте нормальную архитектуру, выносите такие функции в ОМ
2 sky2010
 
03.03.15
11:33
(1) Вообще никак нельзя вызвать?
3 Asmody
 
03.03.15
11:34
(2) вынести в общий модуль — какая буква непонятна?
4 fisher
 
03.03.15
11:35
Даже в толстом клиенте такие функции давно принято выносить в модуль менеджера.
5 sky2010
 
03.03.15
11:37
(3) (4) Мне нужно выполнения на стороне клиента. Там в этой функции список значений который открывается для выбора печати.
6 Mankubus
 
03.03.15
12:04
(5) модуль менеджера тоже может на стороне клиента выполняться
7 fisher
 
03.03.15
12:07
(5) На клиенте через форму не получится. УФ готовится на сервере, а на клиенте она существует только после открытия.
(6) Да ладно!
8 DexterMorgan
 
03.03.15
12:07
(6) Чиво? ОМ может на клиенте выполняться,
9 sky2010
 
03.03.15
12:11
(8) Так как вызвать?
10 pavelul73
 
03.03.15
12:13
через модуль менеджера не пробовали?
11 Mankubus
 
03.03.15
12:14
12 fisher
 
03.03.15
12:14
(9) Ты нормально опиши для начала, что эта функция делает.
13 Asmody
 
03.03.15
12:17
(5) открой для себя галку "Клиент" в свойствах ОМ
14 fisher
 
03.03.15
12:17
(11)
ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер
15 fisher
 
03.03.15
12:20
Ориентироваться на работу УФ в режиме обычного приложения - это даже не знаю как назвать.
16 fisher
 
03.03.15
12:23
(13) Да не факт, что ему ОМ нужен. Скорее ему нужен рефакторинг и функция модуля менеджера.
17 sky2010
 
03.03.15
12:25
Список1 = Новый СписокЗначений();
    Список1.Добавить(1, "Счет");
    Список1.Добавить(4, "Акт");
    Если Объект.Контракт Тогда
        Список1.Добавить(2, "Договор");
    КонецЕсли;
    Если Объект.СправкаСчет Тогда
        Список1.Добавить(3, "Справка-Счет");
    КонецЕсли;
    Если Объект.Реализация Тогда
        Список1.Добавить(5, "Расходная накладная");
    КонецЕсли;
    
    А = Список1.ВыбратьЭлемент("Вид печати");
18 sky2010
 
03.03.15
12:26
Затем в зависимости от выбора печатается тот или иной документ
19 Wobland
 
03.03.15
12:27
(18) передавай в печать ответ с клиента
20 sky2010
 
03.03.15
12:31
(19) все равно чтобы передать нужно ее вызвать. ТО КАК ЕЕ вызвать из модуля объекта документа?
21 Wobland
 
03.03.15
12:33
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", Новый Структура("ОтветЮзера", ОтветЮзера));
22 Wobland
 
03.03.15
12:34
вообще, в БСП чуть хитрей: Программно распечатать ВПФ
23 Гёдза
 
03.03.15
12:35
Можно и через форму, но это будет г0внокод
24 sky2010
 
03.03.15
12:51
(21) ПечатьДокументов - Это имя функции?
25 fisher
 
03.03.15
12:52
(17) Формирование списка печатных форм документа делаешь на сервере в модуле менеджера. А открытие списка для выбора и далее - на клиенте. Лучше в клиентском ОМ, т.к. это универсальный блок будет.
Хотя лучше конечно было не морочить голову и прикрутить подсистему печати из БСП.