I need help!Вывод сообщения пользователю (внешняя обработка)
По теме из базы знаний
Найденные решения
Дошли руки, а глаза до БСП и проблема решилась так
Всем спасибо.
//Процедура: ОбщегоНазначенияКлиентСервер.СообщитьПользователю
// Формирует и выводит сообщение, которое может быть связано с элементом
// управления формы.
//
// Параметры:
// ТекстСообщенияПользователю - Строка - текст сообщения.
// КлючДанных - ЛюбаяСсылка - объект или ключ записи информационной базы, к которому это сообщение относится.
// Поле - Строка - наименование реквизита формы.
// ПутьКДанным - Строка - путь к данным (путь к реквизиту формы).
// Отказ - Булево - выходной параметр, всегда устанавливается в значение Истина.
//
// Пример:
//
// 1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ,
// "ПолеВРеквизитеФормыОбъект",
// "Объект");
//
// Альтернативный вариант использования в форме объекта:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ,
// "Объект.ПолеВРеквизитеФормыОбъект");
//
// 2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ,
// "ИмяРеквизитаФормы");
//
// 3. Для вывода сообщения связанного с объектом информационной базы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ОбъектИнформационнойБазы, "Ответственный",,Отказ);
//
// 4. Для вывода сообщения по ссылке на объект информационной базы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), Ссылка, , , Отказ);
//
// Случаи некорректного использования:
// 1. Передача одновременно параметров КлючДанных и ПутьКДанным.
// 2. Передача в параметре КлючДанных значения типа отличного от допустимых.
// 3. Установка ссылки без установки поля (и/или пути к данным).
ПоказатьВсем спасибо.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А вы раньше делали вообще доп обработки? Есть параметры регистрации, команды которые выполняются, вид внешней обработки. У Вас, может обработка просто не знает, что ей делать в дополнительных обработках. По одному лишь коду "Сообщить()" очень сложно понять проблему
(2) это мои первые обработки и отчеты
Функция СведенияоВнешнейОбработке () Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Справочники.Сотрудники");
ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет"); //назначаем вид обработки (ДополнительнаяОбработка, ДополнительныйОтчет, ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов)
ПараметрыРегистрации.Вставить("Наименование", "Табель учета рабочего времени для рассылки");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Табель учета рабочего времени для рассылки");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду (ТаблицаКоманд, "Табель учета рабочего времени для рассылки", "ID", "ОткрытиеФормы", Истина,);
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Показать
(3)БРРР. Слишкам многа букаф.:)
"Давай кто быстрее! В пробке стоять" (с) Стивен Сигал
"Давай кто быстрее! В пробке стоять" (с) Стивен Сигал
РегистрационныеДанные = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("");
РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет;
РегистрационныеДанные.Наименование = Метаданные.Представление();
РегистрационныеДанные.Версия = "1.0";
РегистрационныеДанные.Информация = "Отчет "+Метаданные.Представление();
НоваяКоманда = РегистрационныеДанные.Команды.Добавить();
НоваяКоманда.Представление = Метаданные.Представление();
НоваяКоманда.Идентификатор = Метаданные.Имя;
НоваяКоманда.Использование = "ОткрытиеФормы";
Показать
(5) видимо не правильно выразил свой вопрос. При формировании внешнего отчета Т-13 в ЗУП, идет заполнение и сохранение файла excel (свой макет), по результату этого заполнения выдается сообщение
Так вот если открыть внешний отчет через файл-октрыть и нажать сформировать сообщение выводится, а если подключить через внешние обработки, то сообщение не выводится
//формируем имя сохраняемого файла
ПодразделениеТекст = СтрЗаменить(Стр.Подразделение,","," ");
ПодразделениеТекст = СтрЗаменить(ПодразделениеТекст,""""," ");
КаталогЭкспорта = "G:\";
ИмяФайла = КаталогЭкспорта + "Табель " + СокрЛП(ПодразделениеТекст) + ".xls";
Попытка
Версия = Лев(ВерсияЕхсеl, Найти(ВерсияЕхсеl,".") - 1);
Если (Версия = "12") или (Версия = "14") Тогда
Книга.SaveAS(ИмяФайла, 56);
Иначе
Книга.SaveAS(ИмяФайла);
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
КонецПопытки;
Сообщить("Успешно создан Табель " + Стр.Подразделение);
Эксель.ActiveWorkbook.Close();
Эксель.Application.Quit();
Эксель = Неопределено;
ПоказатьТак вот если открыть внешний отчет через файл-октрыть и нажать сформировать сообщение выводится, а если подключить через внешние обработки, то сообщение не выводится
(6)Подозреваю, что. Когда вы открываете файл обработки, то обработка находится на клиенте, а Обработка из справочника записывается и подключается на сервере. Тут нужна обработка, чтобы посмотреть, а то Мы уже начали веселиться в предположениях. Извините если что
Дошли руки, а глаза до БСП и проблема решилась так
Всем спасибо.
//Процедура: ОбщегоНазначенияКлиентСервер.СообщитьПользователю
// Формирует и выводит сообщение, которое может быть связано с элементом
// управления формы.
//
// Параметры:
// ТекстСообщенияПользователю - Строка - текст сообщения.
// КлючДанных - ЛюбаяСсылка - объект или ключ записи информационной базы, к которому это сообщение относится.
// Поле - Строка - наименование реквизита формы.
// ПутьКДанным - Строка - путь к данным (путь к реквизиту формы).
// Отказ - Булево - выходной параметр, всегда устанавливается в значение Истина.
//
// Пример:
//
// 1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ,
// "ПолеВРеквизитеФормыОбъект",
// "Объект");
//
// Альтернативный вариант использования в форме объекта:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ,
// "Объект.ПолеВРеквизитеФормыОбъект");
//
// 2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ,
// "ИмяРеквизитаФормы");
//
// 3. Для вывода сообщения связанного с объектом информационной базы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), ОбъектИнформационнойБазы, "Ответственный",,Отказ);
//
// 4. Для вывода сообщения по ссылке на объект информационной базы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр("ru = 'Сообщение об ошибке.'"), Ссылка, , , Отказ);
//
// Случаи некорректного использования:
// 1. Передача одновременно параметров КлючДанных и ПутьКДанным.
// 2. Передача в параметре КлючДанных значения типа отличного от допустимых.
// 3. Установка ссылки без установки поля (и/или пути к данным).
ПоказатьВсем спасибо.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот