Вариант реализации динамического табло в 1С 7.7

14.03.11

Разработка - Механизмы платформы 1С

Позволяет отображать на экране (монитора или большого телевизора) результат работы требуемого отчета при изменении определенных данных без необходимости интерактивного участия пользователя

Предлагается следующий вариант реализации:

1. Добавляем нового пользователя, например: "Табло";

2. Добавляем новую константу: "ТребуетсяОбновитьТабло" (типа Булево или 0. 1);

3. Глобальный модуль:

Перем Табло Экспорт;     // в начале

Табло = СоздатьОбъект("Таблица");     // в конце

перед ПриНачалеРаботыСистемы():

Процедура ОбновитьТабло()
     Если Константа.ТребуетсяОбновитьТабло = Да Тогда
          Если ИмяПользователя() = "Табло" Тогда
               ОткрытьФорму("Отчет.аТабло");     // свое название отчета
          КонецЕсли;
     КонецЕсли;
КонецПроцедуры

в конце ПриНачалеРаботыСистемы():

Если ИмяПользователя() = "Табло" Тогда
     ОткрытьФорму("Отчет.аТабло");     // свое название отчета
КонецЕсли;
ОбработкаОжидания("ОбновитьТабло",10);

4. В определенных местах конфигурации, связанных с изменением интересующих данных (пр-ры ПриЗаписи() или ОбработкаПроведения()...):

Константа.ТребуетсяОбновитьТабло = Да;

 5. В отчете:

Процедура ПриОткрытии()
    Сформировать();
    Константа.ТребуетсяОбновитьТабло = Нет;
    СтатусВозврата(0);
КонецПроцедуры

до вывода чего-либо:

Табло.Очистить();

 

Для использования:

войти в базу под пользователем "Табло".

 

 

В итоге, после конструктивной критики:

1. Добавляем новую константу: "ТребуетсяОбновитьТабло";

2. В определенных местах конфигурации, связанных с изменением интересующих данных (пр-ры ПриЗаписи() или ОбработкаПроведения()...):

Константа.ТребуетсяОбновитьТабло = Да;

3. В отчете

Перем Таб;     // первой строкой

Если Константа.ТребуетсяОбновитьТабло = Да Тогда     // доп. условие
Таб.Очистить();     // до вывода чего-либо

Константа.ТребуетсяОбновитьТабло = Нет;

Таб = СоздатьОбъект("Таблица");     // 2 последние строки
Форма.ОбработкаОжидания("Сформировать", 10);

таблицу из отчета перенести в Общие или во внешний файл (внутреннюю не видит...)

видит...

 

Можно без константы, если нет желания вносить такие изменения в конфигурацию и достаточно ресурсов, чтобы гонять отчет "вслепую"...

 

См. также

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

В статье расписаны примеры из жизни использования "Виртуального" работника. Разобраны вопросы, возникающие при работе с ним.

28.11.2021    1828    user707242_Gold_karas    18    

5

Механизмы платформы 1С Программист Платформа 1С v7.7 Абонемент ($m)

Пример построения программного кода для достижения функционала обратных вызовов (call back) во внешних обработках исключительно штатными средствами. Тестировалось на платформе 1с77 релиз 027. Конфигурация значения не имеет.

1 стартмани

06.10.2018    7780    Vortigaunt    5    

11

Механизмы платформы 1С Программист Оперативный учет 7.7 Абонемент ($m)

Когда занимаешься разработкой в среде 1С, редко задумываешься о том, что программным кодом ты работаешь с объектной моделью базы данных, а не с самой базой данных. И что это вообще разные вещи. Ты создаешь объекты: документы и справочники, записываешь их - и в базе данных появляются соответствующие записи. Это настолько привычно, что когда сталкиваешься с нетипичным поведением платформы, первым делом думаешь: надо протестировать базу, она битая. В этой статье я хочу разобрать одну интересную ситуацию, которая как раз демонстрирует такое поведение. Описанная ниже ситуация воспроизводится как в файловом, так и в клиент-серверном (SQL) варианте. Тестировалось на версии платформы 1с77 релиз 027.

1 стартмани

16.05.2018    10456    Vortigaunt    26    

5

Механизмы платформы 1С Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    95863    Serginio    116    

188

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    44803    95    kitminsk    18    

20

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    24217    tomvlad    5    

14

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Позволяет в открытой форме списка, выбора или подбора справочника производить динамическую фильтрацию по набранному наименованию.

02.07.2012    18940    maxpiter    62    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1747 15.03.11 10:12 Сейчас в теме
простая реализация хорошей идеи
2. Ёпрст 1065 15.03.11 12:15 Сейчас в теме
да уж..
Вот когда автор наконец узнает, что ОбработкаОжидания есть штатно у любой формы, тогда весь этот бред с правкой глобальника и заведением пользователя окажется бесполезной тратой времени.
3. 1с2с 53 15.03.11 12:48 Сейчас в теме
(2) предложите свой вариант...
Исходные:
есть отчет, формирующий нужную таблицу.
Требуется:
при изменении определенных данных динамически отображать на отдельном экране результат работы этого отчета.
4. Ёпрст 1065 15.03.11 13:59 Сейчас в теме
(3) Форма.ОбработкаОжидания("Печать",10);
1с2с; vitapi; +2 Ответить
7. 1с2с 53 15.03.11 17:28 Сейчас в теме
Дополнено в публикации с учетом (4)...
11. Арчибальд 2709 16.03.11 08:53 Сейчас в теме
(7) Вот чем Ёпрст силен: было черт-те что, а теперь почти хорошая штука.
Еще 10 пост отработать - и вовсе круто будет ;)
5. Арчибальд 2709 15.03.11 14:14 Сейчас в теме
6. Ёпрст 1065 15.03.11 14:24 Сейчас в теме
(5) не всё коту масленница..
Да и весна, настроения нема.
8. Ёпрст 1065 15.03.11 17:36 Сейчас в теме
>>>таблицу из отчета перенести в Общие или во внешний файл (внутреннюю не видит...)

Вранье.. ЕЩЕ как видит!
9. 1с2с 53 15.03.11 17:49 Сейчас в теме
10. CheBurator 2712 16.03.11 01:07 Сейчас в теме
Модже все-таки не будем перерисовывать табло каждые ЭН секунд, а будем перерисовывать только тогда когда данные для табло изменились?
12. 1с2с 53 16.03.11 10:06 Сейчас в теме
(10), (11) пункты 1, 2 и доп. условие из 3 в итоговом варианте?...
13. CheBurator 2712 16.03.11 12:14 Сейчас в теме
(12)обработкаожидания и необходимость перерисовывать табло только при изменении данных - и рядом не стояли имхо
14. 1с2с 53 17.03.11 01:42 Сейчас в теме
(13)
1. Форма.ОбработкаОжидания запускает процесс формирования отчета с заданной периодичностью (пока открыта сама форма отчета);
2. В отчете первым же действием осуществляется контроль необходимости его формирования по значению константы, таким образом неинформативные "перерисовывания" исключаются...
(11)
...кстати, первоначальный вариант вполне рабочий...,
несколько строк в ГМ, особенно для конфигураций, не требующих типовых обновлений... не напрягает...
хотя, безусловно, итоговый вариант оптимален...
15. CheBurator 2712 18.03.11 21:28 Сейчас в теме
(13) обоснуйте, зачем мне каждые, например, 10 секунд, перерисовывать табло (проверять, надо ли перерисовыват табло), если событие перерисовки может случаться ну допустим раз в час.. а может и 5 раз в минуту? хочется - чтобы табло перериосывалось ПО ФАКТУ ПРОИСШЕДШИХ ИЗМЕНЕНИЙ. Чтобы было понятно: мне неохота каждые 10 секунд бегать заглядывать в почтовый ящик - пришло ли письмо? мне хочется ПО СТУКУ В ЛВЕРЬ - встать с дивана, открыть дверь и получить письмо из рук почтальона...
16. 1с2с 53 22.03.11 01:46 Сейчас в теме
(15) ошиблись номером комментария, досель не знал о его существовании...
имхо, без использования ОбработкаОжидания() штатными методами... вряд-ли...
насчет аналогий, предлагаю такую:
Вы создали такой почтовый ящик, который с заданной периодичностью сам проверяет наличие нужной корреспонденции и сам же отрабатывает ее определенным образом. Все это время Вы - занимаетесь своими делами, в том числе, используя при этом Ваш диван по назначению...
17. CheBurator 2712 22.03.11 02:37 Сейчас в теме
(16) ваше предложение с "почтовым ящиком" - тупое (сорри!) - это не значит что оно плохое - но эта - та же самая "обработкаожидания", я бы делал такой почтовый ящик ПРИНЦИПИАЛЬНО по-другому: например:
- на дне ПЯ - площадка на пружинке. все. ЯЩИК САМ НИЧЕГО НЕ ПРОВЕРЯЕТ.
- падает в ПЯ письмо, площадка на пружинке под тяжестью письма - опускается и замфкает контакт, срабатывает "исполнительное устройство".
ВСЕ.
.чувствуете разницу между вашим ПЯ и моим ПЯ...?
18. 1с2с 53 22.03.11 17:15 Сейчас в теме
(17) вообще, инновации - это сейчас атуально...,
а инновации в области усовершенствования конструкции почтовых ящиков - несомненно, актуальны особо...
Зачем в третий раз писать фактически одно и то же?...
В (16) дан ответ по сути:
я не вижу варианта реализации требуемого функционала штатными средствами без использования метода ОбработкаОжидания()...
Моя аналогия, естественно, описывает именно этот вариант...
Субъективная разница между "ПЯ":
чем меньше механики и "замфканий контактов", тем выше надежность...
Оставьте свое сообщение