Здравствуйте. Столкнулся с одной проблемой. Не могу вызвать форму на тонком клиенте.
Подскажите как можно реализовать.
Внутри функции "ПолучитьДанныеЗаметок" хочу вызывать форму списка.
Всем заранее спасибо.
Модуль управляемого приложения
Подскажите как можно реализовать.
Внутри функции "ПолучитьДанныеЗаметок" хочу вызывать форму списка.
Всем заранее спасибо.
Функция ПолучитьДанныеЗаметок()Экспорт
НаборЗаписей = РегистрыСведений.Заметки.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
Для Каждого Запись из НаборЗаписей Цикл
ЗаметкаДатаОповещения = Формат(Запись.ДатаОповещения,"ДФ=dd.MM.yyyy");
ЗаметкаДокумент = Запись.Документ;
ЗаметкаПользователь = Запись.Пользователь;
ЗаметкаЗавершенно = Запись.Завершено;
ТекДата = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy");
Если ТекДата > ЗаметкаДатаОповещения И ЗаметкаЗавершенно = Ложь Тогда
Сообщить("Просрочена дата заметки по договору "+ " " + ЗаметкаДокумент);
ИначеЕсли ТекДата = ЗаметкаДатаОповещения И ЗаметкаЗавершенно = Ложь Тогда
Сообщить("Проверьте заметки на сегодняшний день");
КонецЕсли;
КонецЦикла;
КонецФункции
ПоказатьМодуль управляемого приложения
Процедура ОболочкаОбработчика ()Экспорт
ОбработатьОжидание();
КонецПроцедуры
Процедура ОбработатьОжидание()Экспорт
ОбщегоНазначения.ПолучитьДанныеЗаметок();
КонецПроцедуры
ПодключитьОбработчикОжидания("ОболочкаОбработчика",2,Ложь);
ПоказатьПо теме из базы знаний
- Дополнительные отчеты и обработки для конфигураций, основанных на БСП. Часть 2. Печатные формы (MXL).
- Открытие форм нескольких новых документов в тонком и толстом клиенте, УФ
- Обработка печатной формы WORD клиент-сервер УФ
- Открытие формы подключаемой внешней обработки без записи документа
- Сравнение файлов в тонком клиенте
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(11)Одно дело когда вы хотите открыть список, и другое дело когда вы говорите про форму списка.
У вас функция очень похожа на процедуру, она ничего не возвращает. Как по мне так в функции надо сформировать сам список и вернуть его на клиента и уже на клиенте открыть.
Что то типа
В теле функции где то добавить в список значений или таблицу значений данные по заметкам. Затем после прочтения записать в регист результат просмотра.
Трудно судить по одной функции что именно Вы хотите.
Я когда то решал подобную задачу, При старте системы проверялись новые сообщения по обновлениям и после прочтения помечались как прочитанные. Но там однозначно было больше одной функции.
У вас функция очень похожа на процедуру, она ничего не возвращает. Как по мне так в функции надо сформировать сам список и вернуть его на клиента и уже на клиенте открыть.
Что то типа
Процедура ОбработатьОжидание()Экспорт
СписокЗаметок = ОбщегоНазначения.ПолучитьДанныеЗаметок();
КонецПроцедуры
В теле функции где то добавить в список значений или таблицу значений данные по заметкам. Затем после прочтения записать в регист результат просмотра.
Трудно судить по одной функции что именно Вы хотите.
Я когда то решал подобную задачу, При старте системы проверялись новые сообщения по обновлениям и после прочтения помечались как прочитанные. Но там однозначно было больше одной функции.
(13) Как вам вот такая функция?
Функция ПолучитьТаблЗаметок(ДатаОповещения,Пользователь)Экспорт
МассивТипаВыбора = Новый Массив;
МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));
ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
МассивРеквизитов = Новый Массив;
ИмяТЗ = "ТаблицаЗаметок"; ЗаголовокТЗ = "Заметки";
МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяТЗ, ОписаниеТипаВыбора, "", ЗаголовокТЗ));
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Заметки.Пользователь КАК Пользователь,
| Заметки.Статус КАК Статус,
| Заметки.Документ КАК Документ,
| Заметки.ДатаОповещения КАК ДатаОповещения
|ИЗ
| РегистрСведений.Заметки КАК Заметки
|ГДЕ
| Заметки.ДатаОповещения = &ДатаОповещения
| И Заметки.Пользователь = &Пользователь";
Запрос.УстановитьПараметр("ДатаОповещения", ДатаОповещения);
Запрос.УстановитьПараметр("Пользователь", Пользователь);
РезультатЗапроса = Запрос.Выполнить();
ТЗ = РезультатЗапроса.Выгрузить();
Для Каждого Колонка Из ТЗ2.Колонки Цикл
ТипыЗначений = Новый Массив;
Для каждого тТип из Колонка.ТипЗначения.Типы() Цикл
Если тТип <> Тип("Null") Тогда
ТипыЗначений.Добавить(тТип);
КонецЕсли;
КонецЦикла;
МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(ТипыЗначений), ИмяТЗ2));
КонецЦикла;
ЭтаФорма.ИзменитьРеквизиты(МассивРеквизитов);
эТаблица = Элементы.Добавить(ЗаголовокТЗ, Тип("ТаблицаФормы"));
эТаблица.ПутьКДанным = ИмяТЗ2;
эТаблица.Отображение = ОтображениеТаблицы.Список;
эТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
эТаблица.ИзменятьСоставСтрок = Ложь;
Для Каждого Колонка Из ТЗ.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), эТаблица);
НовыйЭлемент.ПутьКДанным = ИмяТЗ + "." + Колонка.Имя;
Если Колонка.Имя = "Выб" Тогда
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
Иначе
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.КнопкаОчистки = Ложь;
НовыйЭлемент.КнопкаВыбора = Ложь;
НовыйЭлемент.РедактированиеТекста = Ложь;
НовыйЭлемент.КнопкаОткрытия = Истина;
КонецЕсли;
КонецЦикла;
ЭтаФорма.ЗначениеВРеквизитФормы(ТЗ2, ИмяТЗ2);
КонецФункции
Показать
(19)Естественно - Элементы находятся на форме а вы в общем модуле.
Колонки лучше всего добавлять в процедуре приСозданииНаСервере той формы где добавляете колонки. (сорри за каламбурчик)
Когда вы ее тестируете в обработке у вас есть форма обработки где вы и играете с элементами. И зачем вы все потом переносите в общий модуль?
Колонки лучше всего добавлять в процедуре приСозданииНаСервере той формы где добавляете колонки. (сорри за каламбурчик)
Когда вы ее тестируете в обработке у вас есть форма обработки где вы и играете с элементами. И зачем вы все потом переносите в общий модуль?
В функции "ПолучитьДанныеЗаметок" есть условие:
При этом условии хочу, чтобы открывалась форма списка.
Если ТекДата > ЗаметкаДатаОповещения И ЗаметкаЗавершенно = Ложь Тогда
Сообщить("Просрочена дата заметки по договору "+ " " + ЗаметкаДокумент);
ИначеЕсли ТекДата = ЗаметкаДатаОповещения И ЗаметкаЗавершенно = Ложь Тогда
Сообщить("Проверьте заметки на сегодняшний день");
КонецЕсли;
При этом условии хочу, чтобы открывалась форма списка.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот