Вариант реализации динамического табло в 1С 7.7
Позволяет отображать на экране (монитора или большого телевизора) результат работы требуемого отчета при изменении определенных данных без необходимости интерактивного участия пользователя
- Описание
- Подробнее
Описание
Предлагается следующий вариант реализации:
1. Добавляем нового пользователя, например: «Табло«;
2. Добавляем новую константу: «ТребуетсяОбновитьТабло» (типа Булево или 0. 1);
3. Глобальный модуль:
Перем Табло Экспорт; // в начале
Табло = СоздатьОбъект(«Таблица»); // в конце
перед ПриНачалеРаботыСистемы():
Процедура ОбновитьТабло()
Если Константа.ТребуетсяОбновитьТабло = Да Тогда
Если ИмяПользователя() = «Табло» Тогда
ОткрытьФорму(«Отчет.аТабло»); // свое название отчета
КонецЕсли;
КонецЕсли;
КонецПроцедуры
в конце ПриНачалеРаботыСистемы():
Если ИмяПользователя() = «Табло» Тогда
ОткрытьФорму(«Отчет.аТабло»); // свое название отчета
КонецЕсли;
ОбработкаОжидания(«ОбновитьТабло»,10);
4. В определенных местах конфигурации, связанных с изменением интересующих данных (пр-ры ПриЗаписи() или ОбработкаПроведения()…):
Константа.ТребуетсяОбновитьТабло = Да;
5. В отчете:
Процедура ПриОткрытии()
Сформировать();
Константа.ТребуетсяОбновитьТабло = Нет;
СтатусВозврата(0);
КонецПроцедуры
до вывода чего-либо:
Табло.Очистить();
Для использования:
войти в базу под пользователем «Табло«.
В итоге, после конструктивной критики:
1. Добавляем новую константу: «ТребуетсяОбновитьТабло«;
2. В определенных местах конфигурации, связанных с изменением интересующих данных (пр-ры ПриЗаписи() или ОбработкаПроведения()…):
Константа.ТребуетсяОбновитьТабло = Да;
3. В отчете:
Перем Таб; // первой строкой
Если Константа.ТребуетсяОбновитьТабло = Да Тогда // доп. условие
Таб.Очистить(); // до вывода чего-либо
Константа.ТребуетсяОбновитьТабло = Нет;
Таб = СоздатьОбъект(«Таблица»); // 2 последние строки
Форма.ОбработкаОжидания(«Сформировать», 10);
таблицу из отчета перенести в Общие или во внешний файл (внутреннюю не видит…)
видит…
Можно без константы, если нет желания вносить такие изменения в конфигурацию и достаточно ресурсов, чтобы гонять отчет «вслепую»…
