Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Можно ли сделать автоматическое обновление отчета? 1с 7.7 конф 7.7.003          
ZUBR Подменю пользователя
сообщение 19.10.19, 18:29
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Здравствуйте! И еще один вопрос. Если у меня открытый отчет на экране и какой-то документ добавился или изменился, есть ли какие-то способы сделать автоматическое обновление отчета, чтобы эти изменения сразу в нем отразились? Спасибо.

Sharzem Подменю пользователя
сообщение 20.10.19, 8:48
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

ZUBR @ Вчера, 19:29 * ,
Можна виконувати постійне оновлення звіту через певний проміжок часу... Постійно потрібно опитувати відкриті в даний час вікна і при активації форми сформованого звіту оновити його якщо сплив потрібний час. Без компоненти Formex та його об'єктів "РасширениеФормы" та "Окна" не обійтися. Це буде таке собі збочення. Простіше натискати кнопочку.


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Спасибо сказали: ZUBR,

volodya1122 Подменю пользователя
сообщение 21.10.19, 9:01
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

ZUBR @ 19.10.19, 19:29 * ,

для чого взагалі потрібне автоматичне оновлення звіту? Думаю це взагалі неправильна постановка задачі. Представте: користувач сформував звіт, переглядає на екрані дані звіту, а тут йому пред очами всі дані помінялись. Можна на макеті звіту зробити кнопку "Обновить" із розшифровкою (як наприклад зроблено в звітах "Продажи" "Партии Товаров")

ZUBR Подменю пользователя
сообщение 22.10.19, 20:29
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

volodya1122 @ Вчера, 10:01 * ,
мені там не зрозуміло, як це зробити. Там якось через глобальний модуль робиться. Не ясно, як. І ще не ясно, як саме створюється секція Кнопки? Там є якісь особливості?

volodya1122 Подменю пользователя
сообщение 23.10.19, 15:55
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

ZUBR @ Вчера, 21:29 * ,

Саму кнопку можна і в шапці розмістити. (це або просто клітинку замалювати, або розмістити кнопку малюнком). І ще незнаю як подружаться ОбработкаЯчейкиТаблицы в глобальнім модулі із такою ж в модулі звіту).
Ось що знайшов в інтернеті, так як я цього не використовую
Цитата
Функция обновления отчета используется всеми стандартными отчетами. Если непонятно, как там это устроено, то попробую привести пример попроще. Создаем внешний отчет. В таблице создаем две секции:
1). "Шапка" в одной из ячеек которой присутствует надпись "Обновить", в расшифровке написано РасшифровкаОбновить(1)
2). "Основная" в одной из ячеек которой установлен режим "Выражение" и вписана переменная ПечТекст.

На форме отчета присутствует кнопка с идентификатором кнСформировать, которая запускает процедуру Сформировать и текстовое поле с идентификатором ПечТекст.

При нажатии на кнопку Сформировать появится отчет с текстом "начальное значение". Затем вводим в текстовое поле на форме другой текст и в самом отчете дважды щелкаем на "Обновить".


Далее текст модуля отчета.

Перем Таб;
Перем Расшифровка;

Функция РасшифровкаОбновить(Обновить)
Расшифровка.Установить("Обновить", Обновить);
Возврат Расшифровка;
КонецФункции //РасшифровкаОбновить()

Процедура Сформировать()
Таб.ВывестиСекцию("Шапка");
Таб.ВывестиСекцию("Основная");
Таб.ТолькоПросмотр(1);
Таб.Показать();
//Больше не будем трогать кнопку
Форма.кнСформировать.Доступность(0);
КонецПроцедуры

//Предоределенная процедура, присутствует в глобальном модуле. Т.к. эта процедура прописана
//в данном случае локально, то она перекроет глобальную
Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица,Адрес)
Если Расшифровка.Получить("Обновить")=1 Тогда
Таб.Очистить();
Сформировать();
КонецЕсли;
КонецПроцедуры

Процедура ПриОткрытии()
Расшифровка=СоздатьОбъект("СписокЗначений");
Таб=СоздатьОбъект("Таблица");
ПечТекст="начальное значение";
КонецПроцедуры


P.S. Данный отчет можно сделать как внутренним, так и внешним, но если пользоваться глобальной процедурой ОбработкаЯчейкиТаблицы, то отчет должен быть внутренним.


Сообщение отредактировал volodya1122 - 23.10.19, 16:06

Спасибо сказали: ZUBR,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 4:29
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!