Коллекция полезных кнопок и процедур для отчетов и обработок
Данный внешний отчет представляет собой коллекцию полезных кнопок и процедур, которые Вы можете использовать в своих разработках. Для этого надо лишь скопировать нужные кнопки и соответствующие им процедуры в разрабатываемую форму.
Для каждой кнопки можно назначить сочетание клавиш, которое позволяет быстро выполнить выбранное действие (так называемые «Горячие клавиши»).
Эта кнопка прилично экономит время при разработке и отладке внешних отчетов и обработок. Позволяет одним нажатием закрыть текущую форму и тут же открыть её заново (со всеми внесенными изменениями). Идею почерпнул в публикации //infostart.ru/public/96548/. Спасибо ShantinTD.
Это подменю «Вывод копии…» содержит три кнопки:
1. Кнопка «в Excel (.xls)» открывает сформированный отчет (табличный документ) в Microsoft Office Excel или Open Office Calc, т.е. в программе, которая ассоциирована для файлов с расширением .xls.
2. Кнопка «в Adobe Reader (.pdf)» открывает сформированный отчет (табличный документ) в Adobe Reader или в другой программе, которая ассоциирована для файлов с расширением .pdf.
3. Кнопка «в Табличный документ» открывает сформированный отчет (табличный документ) в другом отдельном Табличном документе.
Эта кнопка позволит отправить по электронной почте сформированный отчет (табличный документ) через Microsoft Outlook.
Вызываемая процедура сохраняет отчет в файл с расширением .xls, подготавливает письмо с вложением сохраненного отчета и открывает в Outlook сформированное письмо.
Кнопка «Зафиксировать» является аналогом кнопки из меню «Таблица > Вид > Зафиксировать таблицу». Для быстрого доступа к этой функции данная кнопка вынесена на командную панель. Кнопка фиксирует/расфиксирует строки и колонки таблицы слева и сверху от активной ячейки.
Кнопка «Печать с выбором принтера» для распечатки сформированного отчета. Перед распечаткой открывается диалог печати для выбора принтера, диапазона страниц и количества копий.
Кнопка «Печать сразу» для распечатки сформированного отчета. Печать происходит без вызова диалога печати (печать с текущими настройками).
На этой сервисной кнопке отображается время, затраченное на формирование отчета. При нажатии на кнопку показания обнуляются.
Программно-сгенерированные кнопки, для управления уровнями группировки в отчетах. Теперь сворачивать-разворачивать группировки стало намного удобнее и быстрее, чем стандартно, через контекстное меню. Количество кнопок соответствует количеству уровней группировки сформированного отчета.
Использованы доработанные процедуры из публикации //infostart.ru/public/83915/.
В версии 2.02 (от 17.03.2012) добавлено:
Группа кнопок для управления Периодом. «Выбор периода…», «Предыдущий месяц», «Текущий месяц» и «Следующий месяц».
Первая кнопка открывает форму для удобного и быстрого выбора периода (см. скриншот №2). В этой форме одним кликом можно выбрать любой стандартный период: Год, Полугодие, Квартал, Месяц, День. А поле календаря (внизу формы) позволяет выбрать вообще любой период. Для этого помечаем мышкой дату начала периода, а затем с нажатой клавишей Shift дату конца периода, и нажимаем кнопку «Выбрать».
Для большей универсальности, предусмотрена кнопка вызова «Стандартного диалога выбора Периода» (сверху-справа).
Использована доработанная форма из публикации //infostart.ru/public/90540/ от Adeptus.
Вторая кнопка сдвигает интервал Периода по месяцам назад (в сторону уменьшения).
Третья кнопка устанавливает интервал Периода равным текущему месяцу.
Четвертая кнопка сдвигает интервал Периода по месяцам вперед (в сторону увеличения).
Добавлены процедуры для отображения трех индикаторов процесса (см. скриншот №3):
Первый — стандартный индикатор, можно разместить в любом месте формы отчета. Он виден только во время формирования отчета.
Два других индикатора (СКД-шный и текстовый) отображаются в строке состояния приложения.
За основу взяты процедуры из публикации «Индикатор процесса в строке состояния … ?…!«. Спасибо, Шёпот теней, Абадонна и Душелов.
Добавлена процедура для подсчета суммы выделенных ячеек в отчете.
Реализовано два способа отображения суммы.
Первый способ — отображение в элементе управления «Надпись». Может располагаться в любом месте на форме отчета.
Второй способ — отображение в сворачивающемся элементе управления «Поле ввода». Располагается в самом низу формы, под полем табличного документа. Скрывается, когда ничего не выделено. Плюсом этой реализации является то, что текст суммы выделенных ячеек можно скопировать в буфер обмена.
Алгоритм корректно считает также и суммы в нескольких несмежных выделенных областях. За основу взяты процедуры из обработки «Универсальная консоль отчетов» от Evg-Lylyk.
В версии 2.03 (от 17.10.2012) исправлена ошибка::
Исправлена ошибка в форме «Быстрого выбора стандартного рериода»:
При выборе Второго полугодия (кнопка «II»), вместо периода «с 01.07.2012 по 31.12.2012» устанавливался период «с 01.06.2012 по 31.12.2012».
Можно не скачивать эту версию, а сделать маленькое исправление в предыдущей версии:
В модуле формы БыстрыйВыборСтандартногоПериода, в процедуре ПолугодиеНажатие
в строке:
Период.НачалоПериода = Дата(ТекГод, ?(ПорядковыйНомер = 1, 1 ,6), 1);
надо «6» исправить на «7«; т.е. должно быть так:
Период.НачалоПериода= Дата(ТекГод, ?(ПорядковыйНомер = 1, 1 ,7), 1);
В версии 3.00 (от 10.08.2014) добавлено:
1. Добавлена кнопка-меню «Вывод копии…«:
— В это меню перенесена кнопка «в Excel (.xls)» и добавлены кнопки «в Adobe Reader (.pdf)» и «в Табличный документ«.
2. Доработана процедура «ПоказатьСуммуВыделенныхЯчеек«:
— Теперь сумма подсчитывается только в видимых ячейках (скрытые ячейки игнорируются).
3. Переписана процедура «кнОткрытьВЭксель_Нажатие«.
4. В процедуре «кнПереоткрыть_Нажатие» устранен мелкий баг, описанный в комментарии (168) от artbear.
Читайте встроенную справку, в которой находятся подробные описания кнопок и процедур, а также способ перенесения нужного функционала в свои обработки. Внимание: после нажатия кнопки «Переоткрыть» встроенная справка перестает открываться.
Для демонстрации работы кнопок реализован простой отчет, который имеет самостоятельную ценность. Отчет показывает количетво Документов каждого вида, количество элементов каждого Справочника и количество записей каждого Регистра сведений. При двойном щелчке по наименованию открывается форма списка выбранного элемента.
Внешний вид отчета показан на первом скриншоте.
Жаль, что только для толстого клиента.
есть возможность переделать для веб клиента?
(1)(2) Я никогда не работал с управляемым приложением, поэтому, к сожалению, ни чем не могу помочь.
Может найдутся спецы по управляемому приложению, и они смогут адаптировать… Мы бы сказали им огромное спасибо.
А в 7-ке можно как-нибудь реализовать открытие таблицы в exel без записи файлов?
классный пост, автору большой плюс!
Забрал, плюс 🙂
(4) rom-x, можно, поиск рулит.
(6) valerka78, а по конкретнее?
У кого какие соображения?
ждем, когда в 8-ке появится такая удобная фишка как перехват любой открытой печатной формы (как в 7.7)…
Автору однозначно плюс! Понравилась кнопка «Переоткрыть» полезная вне всякого сомненя — теперь вставляю ее везде… (открыл для себя много полезной информации) побольше бы таких публикаций.
(11) diarki, +1, такая кнопка рулила и в 7.7 🙂 Насколько меньше лишних движений.
Супер, спасибо!
Отлично. Полезно не только для использования, но и для расширения знаний. Особое спасибо за кнопки раскрытия группировок. Без них мучился.
(5)(11)(12)(13)(14) Спасибо за положительные отзывы, очень приятно. 🙂
(15) Спасибище огромное за разработку.
Переоткрыть — хорошая идея, да))
Остальные кнопки пока не заценила, возможно, тоже полезно.
А можно ли настроить почту не на Outlook?
Спасибо!!! Пригодиться
(18) OlegrVasil, в данной разработке процедура для кнопки «Отправить» настроена на отправку почты через Outlook. Можно настроить и на подругому, но придется переписать процедуру.
Отправка почты из 1С .
Поиск тебе в помощь. Ссылок на Инфостарте много. К примеру вот ссылка ->
А можно ли сделать пример для программного формирования файла с группировками в ёкселе.
Прикольно , парадовала кнопка открытия в экселе и переоткрыть
Простенько и со вкусом.
Хорошо бы еще и для управляемого приложения …
(21) Bober777, я, к сожалению, не знаю, что такое «ёксель»… 🙂
Большое спасибо! Лично мне очень пригодится.
(21) это XLS — я его просто так зову…
(24) У меня есть вопрос может ты мне поможешь?
Хочу программно сформировать XLS документ с группировками (плюсиками)
(27) Bober777, Слету на твой вопрос ответить не смогу. А копать в этом направлении — просто нет пока времени. Извини.
Я бы твою задачу по быстрому решил так: Сформировал нужный отчет (с группировками) в 1С. Затем программно сохранил бы его на диске (с расширением .xls), а потом открыл бы его, если надо в Екселе.
Такая технология устроит?
(28) к сожалению нет, но что поделать значит самому придется копать)
Автору респект. Очень пригодилолсь
Пригодится. +1 автору
(4) rom-x, можно =)
Есть такая ошибка возможно не только у меня. Нарушается порядок страниц. Например я печатаю 3 страницы 3 раза. Он печатает 3 раза первую, 3 раза вторую и три раза третью. Как с этим можно бороться?
(33) mkostya, А если в диалоге печати поставить галку «Разобрать по копиям», то помогает?
Для упр. режима часть кнопок доступна и так в командах:http://screencast.com/t/1li9LmsU0A
Кнопку переоткрыть я вот так набросал:
Показать
где параметр ПутьКФайлу — ключевой. Чем заменить параметр не придумал, чтоб можно было без модификации формы обойтись.
Открыть в екселе почти так же выглядит:
Показать
для веб-клиента лень было получение временного файла писать
кнопку замера можно переписать используя подсистему «Замер производительности» из БСП, точность там до тысячных секунды
кнопки группировки не получится такими прям сделать, а их обработчик почти такой же
для отправки на почту в БСП есть подсистема «РаботаСПочтовымиСообщениями» куда можно так же приложить файлик
Очень полезно — спасибо.
Еще бы прикрепить к этому делу библиотеку картинок, та что от 1С.
(39) webdimon, извини, не понял твоё пожелание: «…прикрепить к этому делу библиотеку картинок, та что от 1С«.
Можно по-подробнее?
Спасибо!
Очень кстати.
Судя по описанию обработка нужная. Как накоплю денег — сразу качну. Плюсик тебе!
Переоткрыть — реально необходимая вещь, жаль раньше о ней не знал.
Спасибо, оч пригожилось
Жалко, что у меня не получается к разным отчётам и докам прикрепить. А так…Интересная статистика)
(44) OlegrVasil, извини, не понял, что не получается прикрепить к отчетам и докам? Поясни, если не трудно… 🙂
удобно оч
спасибо… очень удобно все
а будут пополняться?
(48) cpm-classica@mail.ru, если будут новые идеи, то обязательно дополню публикацию.
Интересные вещи. Пригодидись. Интересная кнопка переоткрыть. Спасибо. Тебе плюсик.
Спасибо. Оч полезная вещь.
очень полезно
Автор молодец!
пополняться коллекция будет?
Спасибо. Кнопочки «Переоткрыть» для отладки внешних обработок очень не хватало))
Переоткрыть — реально необходимая вещь, жаль раньше о ней не знал.
Спасибо, очень и очень пригодилась. Буду тестировать на своих обработках.
В общем — автору — большой респект и увеличение коллекции )
норм!
есть ещё идеи для управляемого приложения?
(59) пока нету… Как только будут, так сразу же опубликую.
Жаль, очень хочется для управляемого приложения, хотя бы «переоткрыть».
В принципе коллекция нужная. Молодец.
(61) Так кнопка «Переоткрыть» для управляемого приложения есть вhttp://infostart.ru/public/96548/ . Посмотри там…
спасибо, но всё-равно жду от тебя твои кнопки конвертированные для управляемого приложения.
Спасибо, очень надо
Присоединяюсь к вышенаписанным респектам. Забираем в копилку полезностей!
И для меня весьма актуально!
в последнее время часто стал писать различные отчетики, так что заберу)
из пожеланий кнопку предварительного просмотра отчета бы)
(68) Scukosan, кнопку «Предварительного просмотра» добавить скорее всего не получится, т.к. стандартных средств 1С недостаточно.
Эта кнопка вообще-то и так присутствует в Стандартной панели. Хотя надо подумать…
Отличная коллекция! Автору (+)
Очень интересное решение, позновательно, спасибо
спасибо
Для веб клиента не подойдет? Туда бы еще обработку табличных частей и обработку загрузки выгрузки в из Эксель.
(73) Ionmuerto, Я никогда не работал с управляемым приложением, поэтому, к сожалению, ни чем не могу помочь.
Посмотри в (35) от Stepa86, он покопал в этом направлении, может быть почерпнешь для себя что-нибудь полезное.
автору спасибо и за идею, и за её реализацию!
Не хватает кнопок:
— «Открыть публикацию на infostart.ru» (с картинкой логотипа инфостарт)
— «Плюсануть за публикацию» (картинку тоже с инфостарт)
(76) echo77, Подчеркиваю, что это «Коллекция полезных кнопок и процедур».
А в чем полезность предложенных тобой кнопок — не пойму. 🙂 Без обид…
Хотя, добавить их можно без проблем.
Добавьте пожалуйста.
Еще мне кажется, будет полезной функция, возвращающая сумму выделенных ячеек табличного документа.
Я бухгалтерам добавил эту функкциональность в свои отчеты — они были очень довольны.
Показать
(79) echo77, согласен, функция полезная. Надо будет добавить.
куууул 🙂
норм
Автору «+». Полезно.
Очень хорошее решение. Полезно и наглядно. Спасибо.
Вот как только денежек накоплю сразу скачаю, а пока только читаю комментарии … 🙁
Да, иногда такие кнопки нужны в хозяйстве. Попозже скачаю.
Автору однозначно плюс! Понравилась кнопка «Переоткрыть» полезная вне всякого сомненя — теперь вставляю ее везде… (открыл для себя много полезной информации) побольше бы таких публикаций.
Автору респект. То, что искал
спасибо, пригодилось для собственной обработки
Очень нужная вещь, большое спасибо)))
Автору +++! Кнопка Переоткрыть самая полезная оказалась, — теперь вставляю ее везде…
Спасибо, список полезностей пригодился. Автосумма кандидат на включение.
Опубликовал новую версию 2.02
Изменения:
+ Добавлена группа кнопок для управления Периодом;
+ Добавлены процедуры для отображения трех индикаторов процесса;
+ Добавлена процедура для подсчета суммы выделенных ячеек в отчете:
Подробности на странице публикации.
Спасибо большое, пригодилось!
Спасибо! полезная информация и вся по делу, очень понравилось, подчеркнул для себя много нового — надеюсь еще будут пополнения.
Для разработчики было бы полезным добавить автосумму в отчеты.
Спасибо!!! Да не помешало б и для для тонкого клиента доделать.!
(96) Ejnar, спасибо за отзыв, очень приятно.
Только не понял, что ты подразумеваешь под «автосуммой». Объясни по-подробнее, пожалуйста.
Процедура для подсчета суммы выделенных ячеек в отчете — это не оно?
(98) Извиняюсь, о печатался в последнем предложении — именно о процедуре Процедура для подсчета суммы выделенных ячеек в отчете — шла речь. Просто хотелось бы что бы эту идею подчеркнули для себя разработчики конфигураций и в будущем включили ее в стандартные отчеты.
Классно, классно! Ждем для тонкого!
Пригодится не только для будущих отчетов и форм, но и для расширения знаний и кругозора.
Скачал, попробовал. Почти понравилось 🙂
Есть замечание по поводу кнопок управления группировками. Тулить процедуру их генерации в каждый отчет не есть хорошо. Перепишите процедуру для общего модуля, как это сделал я. Только для этого ей нужно передавать 2 параметра — форму и поле табличного документа.
Кстати, я ее еще доделал на случай нескольких табличных документов на форме — для каждой формируется своя ссылка на действие СвернутьДоУровня. Вот только к сожалению, не удалось эту процедуру перенести в общий модуль потому что действие кнопки требует процедуру обработки нажатия только в модуле формы.
(102) Altair777,
Прочитал ваш комментарий, почти согласен 🙂
Ваше предложение переписать процедуру для общего модуля подойдет не для всех. Знаю много контор, где категорически против внесения любых изменений в конфигурацию. А те, кто правит свою конфигурацию, думаю сами смогут чуть поправить процедуру для переноса ее в общий модуль. Кстати у меня в рабочей базе так и сделано — в общем модуле. И несколько табличных документов на форме тоже обрабатываются.
В публикации основная идея и простая рабочая отлаженная процедура, для простого и быстрого переноса в новые отчеты. А кто захочет, думаю, допилит сам. Там ничего сложного нет. Да и вы в своем комментарии дали остальным хорошую подсказку, как можно усовершенствовать процедуру, спасибо.
(103)
Для простого и быстрого переноса мне пришлось тоже править отчет 🙂
Дело в том, что кнопки из командной панели копипастятся только в командную панель. А если надо на форму? Только руками.
Вот я и сделал еще одну форму, где кнопки на форме.
P.S. сорри за тавтологию. Но это еще фигня по сравнению с перлами от 1С.
Чтобы проверить тип значения переменной нужно определить ее тип функцией ТипЗнч() и использовать функцию Тип() для получения типа по имени.
(11) diarki, кнопка Переоткрыть существует в типовых дааааавным давно.