Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/136: Рейтинг темы: голосов - 136, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 6
1

ОткрытьМодально в тонком клиенте, возможно?

20.08.2011, 17:06. Показов 27471. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создал внешнюю обработку, и прицепил ее к документу, и в модуле объекта обработки написал такой, код. Цеплял на заполнение Табличной части. Все писалось для УТ 11.0

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
//Предупреждение(ОбъектыНазначенияМассив[0]);

ФормаПодбора = ПолучитьФорму("ВнешняяОбработка.Подбор.Форма.Форма");
ФормаПодбора.СсылкаНаОбъект = ОбъектыНазначенияМассив[0];
ФормаПодбора.ОткрытьМодально();
КонецПроцедуры

Все это работает на толстом клиенте тока в путь, но как переключаю запуск в тонком клиенте, ругается на процедуру ОткрытьМодально( а также процедуру Открыть, почему то нельзя использовать в модуле объекта на тонком клиенте), а мне нужно открыть форму моей обработки. Как это можно сделать? Заранее советы как подключить программно внешнюю обработку не принимаются, т.к. нельзя снимать документ с поддержки к котормоу я подрубаю обработку. Нужен совет или подсказка, или даже где можно почитать про это, как открывать форму обработок подключенных к документу на тонком клиенте. И еще писать &НаСервере, &НаКлиенте, и на Клиенте как бы открывтаь, в модуле Объекта моей обработки нельзя, я все пробывал. Надеюсь моя проблема ясна, жду ваших взглядов и подсказок, Заране всем спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.08.2011, 17:06
Ответы с готовыми решениями:

Массив в тонком клиенте
Добрый день всем. Подскажите каким образом и где объявить массив, чтобы "&НаКлиенте" к нему можно...

Где в 1С 8.2 в тонком клиенте отобразить итог таблицы?
Здравствуйте. Скажите пожалуйста, где в 1С 8.2 в тонком клиенте отобразить итог таблицы?

Принудительный запуск приложения в 8.2 на тонком клиенте, конфигурации с режимом совместимости 8.1
Нужно запустить принудительно, конфигурацию на тонком клиенте, с режимом совместимости 8.1....

Можно ли вытащить карту(шаблон) в пользовательский интерфейс на тонком клиенте?
Здравствуйте уважаемые. Вот не нашел выхода из ситуации с выносом карты(шаблона) в...

4
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
21.08.2011, 01:25 2
Модуль объекта на сервере выполняется. Нельзя на сервере формы открывать.
А процедура ВыполнитьКоманду обычно в модуле команды. Там отрывать можно.
Не совсем понял, в чем проблема.
Может быть вам поможет ОткрытьФормуМодально() ?
0
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 6
21.08.2011, 09:13 3
Вот мой полный код моей внешей обработки, которую я через дополнительные отчеты и обработки цепляю к документу:
//-------------------------------------------------------------
Перем Форма Экспорт;
Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ОтчетОРозничныхПродажах");

ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Подбор");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Подбор номенклатуры для документа Отчет О Розиничных продажах, советуется убрать галочку у поля использовать для формы списка, но если не уберете на работоспобность обработки влиять не будет");
ТаблицаКоманд = ПолучитьТаблицуКоманд();

ДобавитьКоманду(ТаблицаКоманд,
"Подбор",
Истина);

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;
КонецФункции
// Формирует таблицу значений с командами печати
//
// Возвращаемое значение:
// ТаблицаЗначений
//
Функция ПолучитьТаблицуКоманд()

Команды = Новый ТаблицаЗначений;

//Представление команды в пользовательском интерфейсе
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

//Уникальный идентификатор команды или имя макета печати
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

//Способ вызова команды: "ОткрытиеФормы", "ВызовКлиентскогоМетода", "ВызовСерверногоМетода"
// "ОткрытиеФормы" - применяется только для отчетов и дополнительных отчетов
// "ВызовКлиентскогоМетода" - вызов процедуры Печать(), определённой в модуле формы обработки
// "ВызовСерверногоМетода" - вызов процедуры Печать(), определённой в модуле объекта обработки
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

//Показывать оповещение.
//Если Истина, требуется показать оповещение при начале и при завершении работы обработки.
//Имеет смысл только при запуске обработки без открытия формы
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

//Дополнительный модификатор команды.
//Используется для дополнительных обработок печатных форм на основе табличных макетов.
//Для таких команд должен содержать строку ПечатьMXL
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

Возврат Команды;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ВызовСерверногоМетода", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Форма = ПолучитьФорму("ВнешняяОбработка.Подбор.Форма.Форма");
Ссылочка = ОбъектыНазначенияМассив[0];
Форма.ОткрытьМодально();
КонецПроцедуры

//----------------------------------------------------------------------------------------------------
Процедура ВЫполнитьКоманду,она нужна для манипуляций с обработкой и передачи параметров, например, когда выбираешь свою обработку путем следующих действий: ЗАполнить..->Подбор(Имя моейОбработки) ->Выполнить, шло обращение к процедуре ВыполнитьКоманду и должна открыться форма моей обработки для заполнения табличной части, но она открывается тока на толстом клиенте, варианты Форма.Открыть(), ОТКРЫТЬФОРМУ, ОткрытьФормуМодально(), все это пробывал, но выдает одну и ту же ошибку такого типа:
{ВнешняяОбработка.Подбор.МодульОбъекта(72)}: Значение не является значением объектного типа (Открыть)
Форма.Открыть();
Такие соотвественно для ОткрытьФОрмуМодально() и тд. Как мне открыть форму моей обработки на тонком клиенте?

P.S. Команды добавлять в документ нельзя, он на поддержке...
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
22.08.2011, 02:47 4
Боюсь, что не получится. Модуль обработки вызывается с сервера, а с сервера позвать клиента нельзя.
0
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 6
22.08.2011, 10:19 5
А почему тогда все это работает в толстом клиенте?И как мне тогда быть, чтобы мой подбор через обработку, которая подключается, работал на толстом и тонком клиенте, а базу и документы, с поддержки снимать нельзя...
0
22.08.2011, 10:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2011, 10:19
Помогаю со студенческими работами здесь

Таблица Значений на тонком клиенте
Здравствуйте. В Синтаксис помощнике написано, что таб знач не доступна на тонком клиенте, но делая...

Открыть форму на тонком клиенте
Добрый день, пытаюсь получить форму внешней обработки, но вот ПолучитьФорму работает та только на...

Получить объект на тонком клиенте
Как правильно получить объект на тонком клиенте? &НаСервере Функция ПолучитьДок(Ссылка) ...

1С 8.3. Вызов функции из общего модуля на тонком клиенте
Помогите пожалуйста разобраться новичку. Пытаюсь создать и вызвать функцию в общих модулях. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru