Коллекция полезных кнопок и процедур для отчетов и обработок v3.00

0. Юрий Матвеев (mtv:)) 979 09.01.12 07:02 Сейчас в теме
Собрал в одном месте полезные кнопки и процедуры, которые по мере необходимости можно использовать в своих разработках.

Перейти к публикации

Комментарии
1. Вячеслав Кадацкий (marsohod) 120 09.01.12 07:02 Сейчас в теме
Жаль, что только для толстого клиента.
3. Юрий Матвеев (mtv:)) 979 09.01.12 13:39 Сейчас в теме
(1)(2) Я никогда не работал с управляемым приложением, поэтому, к сожалению, ни чем не могу помочь.
Может найдутся спецы по управляемому приложению, и они смогут адаптировать... Мы бы сказали им огромное спасибо.
2. Программулькин (Программулькин) 268 09.01.12 13:28 Сейчас в теме
есть возможность переделать для веб клиента?
4. Роман Хусяинов (rom-x) 152 09.01.12 13:49 Сейчас в теме
А в 7-ке можно как-нибудь реализовать открытие таблицы в exel без записи файлов?
6. valerka78 (S.V.Y) 09.01.12 14:02 Сейчас в теме
Забрал, плюс :)
(4) rom-x, можно, поиск рулит.
7. Роман Хусяинов (rom-x) 152 09.01.12 14:26 Сейчас в теме
(6) valerka78, а по конкретнее?
У кого какие соображения?
8. valerka78 (S.V.Y) 09.01.12 14:35 Сейчас в теме
(7) rom-x, http://infostart.ru/public/17464/ например.
Обсуждение в данной ветке прекращаем..
32. Макс Такойто (Maks888) 1 12.01.12 09:14 Сейчас в теме
5. Uncore1989 (Uncore) 09.01.12 13:57 Сейчас в теме
классный пост, автору большой плюс!
15. Юрий Матвеев (mtv:)) 979 10.01.12 10:50 Сейчас в теме
(5)(11)(12)(13)(14) Спасибо за положительные отзывы, очень приятно. :)
16. Олег Василевский (OlegrVasil) 10.01.12 12:56 Сейчас в теме
(15) mtv:), Спасибище огромное за разработку.
9. Сергей Коцюра (CheBurator) 3406 09.01.12 17:08 Сейчас в теме
ждем, когда в 8-ке появится такая удобная фишка как перехват любой открытой печатной формы (как в 7.7)...
10. Модератор раздела Артур Аюханов (artbear) 09.01.12 18:30 Сейчас в теме
(9) Уже есть такая фича :)
Как обычно, расширения 1С ищем на сайте 1С++ - можно по моему нику :)
11. Андрей Андрей (diarki) 09.01.12 21:40 Сейчас в теме
Автору однозначно плюс! Понравилась кнопка "Переоткрыть" полезная вне всякого сомненя - теперь вставляю ее везде... (открыл для себя много полезной информации) побольше бы таких публикаций.
12. valerka78 (S.V.Y) 09.01.12 21:43 Сейчас в теме
(11) diarki, +1, такая кнопка рулила и в 7.7 :) Насколько меньше лишних движений.
164. V. L. (Vladal) 412 28.06.13 19:03 Сейчас в теме
(11) diarki, кнопка Переоткрыть существует в типовых дааааавным давно.
13. Олег Иванов (ogeniv) 10.01.12 06:44 Сейчас в теме
14. Дмитрий Семенов (Sam13) 221 10.01.12 09:53 Сейчас в теме
Отлично. Полезно не только для использования, но и для расширения знаний. Особое спасибо за кнопки раскрытия группировок. Без них мучился.
17. L K (ludai) 10.01.12 13:29 Сейчас в теме
Переоткрыть - хорошая идея, да))
Остальные кнопки пока не заценила, возможно, тоже полезно.
18. Олег Василевский (OlegrVasil) 10.01.12 13:34 Сейчас в теме
А можно ли настроить почту не на Outlook?
20. Юрий Матвеев (mtv:)) 979 10.01.12 21:07 Сейчас в теме
(18) OlegrVasil, в данной разработке процедура для кнопки "Отправить" настроена на отправку почты через Outlook. Можно настроить и на подругому, но придется переписать процедуру.
Поиск тебе в помощь. Ссылок на Инфостарте много. К примеру вот ссылка -> Отправка почты из 1С.
19. Дмитрий Титов (dtitov) 10.01.12 19:22 Сейчас в теме
21. Сергей Федоров (Bober777) 26 10.01.12 22:45 Сейчас в теме
А можно ли сделать пример для программного формирования файла с группировками в ёкселе.
24. Юрий Матвеев (mtv:)) 979 11.01.12 10:34 Сейчас в теме
(21) Bober777, я, к сожалению, не знаю, что такое "ёксель"... :)
27. Сергей Федоров (Bober777) 26 11.01.12 12:39 Сейчас в теме
(24) У меня есть вопрос может ты мне поможешь?
Хочу программно сформировать XLS документ с группировками (плюсиками)
28. Юрий Матвеев (mtv:)) 979 11.01.12 14:01 Сейчас в теме
(27) Bober777, Слету на твой вопрос ответить не смогу. А копать в этом направлении - просто нет пока времени. Извини.
Я бы твою задачу по быстрому решил так: Сформировал нужный отчет (с группировками) в 1С. Затем программно сохранил бы его на диске (с расширением .xls), а потом открыл бы его, если надо в Екселе.
Такая технология устроит?
29. Сергей Федоров (Bober777) 26 11.01.12 14:48 Сейчас в теме
(28) к сожалению нет, но что поделать значит самому придется копать)
26. Сергей Федоров (Bober777) 26 11.01.12 12:04 Сейчас в теме
(21) это XLS - я его просто так зову...
22. Гость 10.01.12 22:51 Сейчас в теме
Прикольно , парадовала кнопка открытия в экселе и переоткрыть
23. Иван Иванов (VankaV) 11.01.12 09:55 Сейчас в теме
Простенько и со вкусом.
Хорошо бы еще и для управляемого приложения ...
25. Сергей Средних (morpheus2) 11.01.12 11:13 Сейчас в теме
Большое спасибо! Лично мне очень пригодится.
30. Alexandr Zaslavskiy (Imm) 12.01.12 04:07 Сейчас в теме
Автору респект. Очень пригодилолсь
31. Alexandr Zaslavskiy (Imm) 12.01.12 04:17 Сейчас в теме
33. Максим Костиков (mkostya) 23 12.01.12 11:40 Сейчас в теме
Есть такая ошибка возможно не только у меня. Нарушается порядок страниц. Например я печатаю 3 страницы 3 раза. Он печатает 3 раза первую, 3 раза вторую и три раза третью. Как с этим можно бороться?
34. Юрий Матвеев (mtv:)) 979 12.01.12 12:07 Сейчас в теме
(33) mkostya, А если в диалоге печати поставить галку "Разобрать по копиям", то помогает?
35. Антон Степанов (Stepa86) 873 12.01.12 13:27 Сейчас в теме
Для упр. режима часть кнопок доступна и так в командах: http://screencast.com/t/1li9LmsU0A

Кнопку переоткрыть я вот так набросал:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Не ЗначениеЗаполнено( Параметры.ПутьКФайлу ) Тогда
		
		Параметры.ПутьКФайлу = ПутьКОтчету();
		
	КонецЕсли;
	
КонецПроцедуры

Функция ПутьКОтчету()
	
	Возврат РеквизитФормыВЗначение( "Отчет" ).ИспользуемоеИмяФайла;
	
КонецФункции



Функция ПолучитьИмяОтчета( адрес )
	
	Возврат ВнешниеОтчеты.Подключить(адрес);
	
КонецФункции

&НаКлиенте
Процедура Переоткрыть(Команда)
	
	адрес = "";
	
	Если ПоместитьФайл(адрес, Параметры.ПутьКФайлу, , Ложь ) Тогда
		
		Если Открыта() Тогда
			
			Закрыть();
			
		КонецЕсли;
		
		ОткрытьФорму("ВнешнийОтчет."+ ПолучитьИмяОтчета( адрес ) +".Форма", Новый Структура( "ПутьКФайлу", Параметры.ПутьКФайлу ));
		
	КонецЕсли;
	
КонецПроцедуры
Показать


где параметр ПутьКФайлу - ключевой. Чем заменить параметр не придумал, чтоб можно было без модификации формы обойтись.

Открыть в екселе почти так же выглядит:

&НаКлиенте
Процедура ОткрытьВЕкселе(Команда)
	
	#Если Не ВебКлиент Тогда
		
		ИмяФайла = ПолучитьИмяВременногоФайла( "xlsx" ) ;
		Результат.Записать( ИмяФайла, ТипФайлаТабличногоДокумента.XLSX );
		ЗапуститьПриложение( ИмяФайла );
		
	#КонецЕсли
	
КонецПроцедуры
Показать


для веб-клиента лень было получение временного файла писать

кнопку замера можно переписать используя подсистему "Замер производительности" из БСП, точность там до тысячных секунды

кнопки группировки не получится такими прям сделать, а их обработчик почти такой же

для отправки на почту в БСП есть подсистема "РаботаСПочтовымиСообщениями" куда можно так же приложить файлик
u_n_k_n_o_w_n; item; JohnyDeath; mtv:); +4 Ответить
37. Александр Иванов (fap82) 13.01.12 10:09 Сейчас в теме
Очень полезно - спасибо.
39. Дмитрий Переверзев (webdimon) 14.01.12 00:36 Сейчас в теме
Еще бы прикрепить к этому делу библиотеку картинок, та что от 1С.
40. Юрий Матвеев (mtv:)) 979 14.01.12 09:04 Сейчас в теме
(39) webdimon, извини, не понял твоё пожелание: "...прикрепить к этому делу библиотеку картинок, та что от 1С".
Можно по-подробнее?
41. Igor Emelyanenkov (IEmelya) 15.01.12 21:33 Сейчас в теме
42. Михаил Н (Mig_Alm) 16.01.12 13:47 Сейчас в теме
Судя по описанию обработка нужная. Как накоплю денег - сразу качну. Плюсик тебе!
43. Maxim (Trofimov_M) 16.01.12 17:10 Сейчас в теме
Переоткрыть - реально необходимая вещь, жаль раньше о ней не знал.
Спасибо, оч пригожилось
44. Олег Василевский (OlegrVasil) 18.01.12 11:17 Сейчас в теме
Жалко, что у меня не получается к разным отчётам и докам прикрепить. А так...Интересная статистика)
45. Юрий Матвеев (mtv:)) 979 18.01.12 11:23 Сейчас в теме
(44) OlegrVasil, извини, не понял, что не получается прикрепить к отчетам и докам? Поясни, если не трудно... :)
46. jojo nll (nll.jojo) 19.01.12 14:16 Сейчас в теме
47. jojo nll (nll.jojo) 19.01.12 14:17 Сейчас в теме
спасибо... очень удобно все
48. Cергей Филиппов (cpm-classica@mail.ru) 23.01.12 11:45 Сейчас в теме
49. Юрий Матвеев (mtv:)) 979 23.01.12 11:49 Сейчас в теме
(48) cpm-classica@mail.ru, если будут новые идеи, то обязательно дополню публикацию.
51. Елена (elena_77) 23.01.12 18:30 Сейчас в теме
Интересные вещи. Пригодидись. Интересная кнопка переоткрыть. Спасибо. Тебе плюсик.
52. Сергей Зобнин (Zoba) 13 24.01.12 00:05 Сейчас в теме
Спасибо. Оч полезная вещь.
53. Кирилл Крутиков (Редкий Гад) 24.01.12 09:52 Сейчас в теме
54. Александр Кузяшин (white125) 25.01.12 02:07 Сейчас в теме
55. Александр Кузяшин (white125) 25.01.12 02:07 Сейчас в теме
пополняться коллекция будет?
56. Иван Дерябин (ivan_83) 14 25.01.12 09:01 Сейчас в теме
Спасибо. Кнопочки "Переоткрыть" для отладки внешних обработок очень не хватало))
57. Алексей Матросов (alexism) 26.01.12 10:50 Сейчас в теме
Переоткрыть - реально необходимая вещь, жаль раньше о ней не знал.
Спасибо, очень и очень пригодилась. Буду тестировать на своих обработках.
В общем - автору - большой респект и увеличение коллекции )
58. Александр Гарькин (agarkin) 26.01.12 17:53 Сейчас в теме
59. Программулькин (Программулькин) 268 27.01.12 10:31 Сейчас в теме
есть ещё идеи для управляемого приложения?
60. Юрий Матвеев (mtv:)) 979 27.01.12 10:39 Сейчас в теме
(59) пока нету... Как только будут, так сразу же опубликую.
61. Программулькин (Программулькин) 268 27.01.12 10:53 Сейчас в теме
Жаль, очень хочется для управляемого приложения, хотя бы "переоткрыть".
В принципе коллекция нужная. Молодец.
62. Юрий Матвеев (mtv:)) 979 27.01.12 11:06 Сейчас в теме
(61) Так кнопка "Переоткрыть" для управляемого приложения есть в http://infostart.ru/public/96548/. Посмотри там...
Программулькин; +1 Ответить
63. Программулькин (Программулькин) 268 27.01.12 11:46 Сейчас в теме
спасибо, но всё-равно жду от тебя твои кнопки конвертированные для управляемого приложения.
65. TexNick ... (xbic) 16 28.01.12 07:54 Сейчас в теме
66. Алексей Гришков (asg1975) 223 30.01.12 09:56 Сейчас в теме
Присоединяюсь к вышенаписанным респектам. Забираем в копилку полезностей!
67. Марина (hmv59) 30.01.12 10:20 Сейчас в теме
И для меня весьма актуально!
68. Dima Dr. (Scukosan) 30.01.12 11:13 Сейчас в теме
в последнее время часто стал писать различные отчетики, так что заберу)
из пожеланий кнопку предварительного просмотра отчета бы)
69. Юрий Матвеев (mtv:)) 979 30.01.12 11:49 Сейчас в теме
(68) Scukosan, кнопку "Предварительного просмотра" добавить скорее всего не получится, т.к. стандартных средств 1С недостаточно.
Эта кнопка вообще-то и так присутствует в Стандартной панели. Хотя надо подумать...
70. Роман Узьмов (RomanUzmov) 42 31.01.12 08:53 Сейчас в теме
Отличная коллекция! Автору (+)
71. Vladislav Chaplygin (tchvlad) 31.01.12 11:44 Сейчас в теме
Очень интересное решение, позновательно, спасибо
72. Alina Krasnova (alice500) 31.01.12 18:06 Сейчас в теме
73. Ionmuerto 01.02.12 12:33 Сейчас в теме
Для веб клиента не подойдет? Туда бы еще обработку табличных частей и обработку загрузки выгрузки в из Эксель.
74. Юрий Матвеев (mtv:)) 979 01.02.12 18:26 Сейчас в теме
(73) Ionmuerto, Я никогда не работал с управляемым приложением, поэтому, к сожалению, ни чем не могу помочь.
Посмотри в (35) от Stepa86, он покопал в этом направлении, может быть почерпнешь для себя что-нибудь полезное.
75. Ольга Петровская (pt_olga) 62 01.02.12 21:20 Сейчас в теме
автору спасибо и за идею, и за её реализацию!
76. Александр Крынецкий (echo77) 744 02.02.12 06:45 Сейчас в теме
Не хватает кнопок:
- "Открыть публикацию на infostart.ru" (с картинкой логотипа инфостарт)
- "Плюсануть за публикацию" (картинку тоже с инфостарт)
77. Юрий Матвеев (mtv:)) 979 02.02.12 07:22 Сейчас в теме
(76) echo77, Подчеркиваю, что это "Коллекция полезных кнопок и процедур".
А в чем полезность предложенных тобой кнопок - не пойму. :) Без обид...
Хотя, добавить их можно без проблем.
79. Александр Крынецкий (echo77) 744 02.02.12 18:17 Сейчас в теме
Добавьте пожалуйста.
Еще мне кажется, будет полезной функция, возвращающая сумму выделенных ячеек табличного документа.
Я бухгалтерам добавил эту функкциональность в свои отчеты - они были очень довольны.

Процедура РезультатПриАктивизацииОбласти(Элемент)

    НадписьСумма = "Сумма: " + ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(ЭлементыФормы.Результат)

КонецПроцедуры

Функция ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(ПолеТабличногоДокумента) Экспорт

    Сумма = 0;
    Для Каждого Область Из ПолеТабличногоДокумента.ВыделенныеОбласти Цикл
        Если ТипЗнч(Область) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
            Для ИндексСтрока = Область.Верх По Область.Низ Цикл
                Для ИндексКолонка = Область.Лево По Область.Право Цикл
                    Попытка
                        Сумма = Сумма + Число(СтрЗаменить(ПолеТабличногоДокумента.Область("R" + Формат(ИндексСтрока, "ЧГ=0") + "C" + Формат(ИндексКолонка, "ЧГ=0")) .Текст, " ", ""));
                    Исключение
                    КонецПопытки;
                КонецЦикла;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;

    Возврат Сумма;

КонецФункции
Показать
80. Юрий Матвеев (mtv:)) 979 02.02.12 19:01 Сейчас в теме
(79) echo77, согласен, функция полезная. Надо будет добавить.
81. Николай Зуев (zuevnp) 4 04.02.12 13:31 Сейчас в теме
82. Александр Гарькин (agarkin) 05.02.12 12:30 Сейчас в теме
83. Sergey Anisimov (Sean1s) 7 05.02.12 18:56 Сейчас в теме
84. Сергей Серебренников (SSO) 06.02.12 12:23 Сейчас в теме
Очень хорошее решение. Полезно и наглядно. Спасибо.
85. Алексей Фурманов (Aleksey-29) 06.02.12 15:41 Сейчас в теме
Вот как только денежек накоплю сразу скачаю, а пока только читаю комментарии ... :(
86. Александр Топольский (AlexanderKai) 07.02.12 16:51 Сейчас в теме
Да, иногда такие кнопки нужны в хозяйстве. Попозже скачаю.
87. Maksim (Massimo) 08.02.12 12:25 Сейчас в теме
Автору однозначно плюс! Понравилась кнопка "Переоткрыть" полезная вне всякого сомненя - теперь вставляю ее везде... (открыл для себя много полезной информации) побольше бы таких публикаций.
88. Rino (Rino) 08.02.12 12:25 Сейчас в теме
Автору респект. То, что искал
89. Yalo (yalo) 08.02.12 13:30 Сейчас в теме
спасибо, пригодилось для собственной обработки
90. StronG-X (Dethmond) 08.02.12 14:04 Сейчас в теме
Очень нужная вещь, большое спасибо)))
92. Евгений L (laeg) 13 08.02.12 20:14 Сейчас в теме
Автору +++! Кнопка Переоткрыть самая полезная оказалась, - теперь вставляю ее везде...
93. v_id (v_id) 89 28.02.12 16:23 Сейчас в теме
Спасибо, список полезностей пригодился. Автосумма кандидат на включение.
94. Юрий Матвеев (mtv:)) 979 18.03.12 10:03 Сейчас в теме
Опубликовал новую версию 2.02

Изменения:
+ Добавлена группа кнопок для управления Периодом;
+ Добавлены процедуры для отображения трех индикаторов процесса;
+ Добавлена процедура для подсчета суммы выделенных ячеек в отчете:

Подробности на странице публикации.
95. Александр Кривошеев (magvay_k) 56 20.03.12 13:46 Сейчас в теме
Спасибо большое, пригодилось!
96. Андрей (Ejnar) 21.03.12 23:22 Сейчас в теме
Спасибо! полезная информация и вся по делу, очень понравилось, подчеркнул для себя много нового - надеюсь еще будут пополнения.
Для разработчики было бы полезным добавить автосумму в отчеты.
98. Юрий Матвеев (mtv:)) 979 22.03.12 07:18 Сейчас в теме
(96) Ejnar, спасибо за отзыв, очень приятно.
Только не понял, что ты подразумеваешь под "автосуммой". Объясни по-подробнее, пожалуйста.

Процедура для подсчета суммы выделенных ячеек в отчете - это не оно?
99. Андрей (Ejnar) 22.03.12 15:33 Сейчас в теме
(98) mtv:), Извиняюсь, о печатался в последнем предложении - именно о процедуре Процедура для подсчета суммы выделенных ячеек в отчете - шла речь. Просто хотелось бы что бы эту идею подчеркнули для себя разработчики конфигураций и в будущем включили ее в стандартные отчеты.
97. Dmitriy (daho) 8 22.03.12 07:00 Сейчас в теме
Спасибо!!! Да не помешало б и для для тонкого клиента доделать.!
100. Ольга Зверькова (Lyuba-Lyuba) 03.04.12 14:22 Сейчас в теме
Классно, классно! Ждем для тонкого!
101. Игорь Смирнов (MrVesna) 12 03.04.12 23:47 Сейчас в теме
Пригодится не только для будущих отчетов и форм, но и для расширения знаний и кругозора.
102. Альтаир (Altair777) 639 04.04.12 11:21 Сейчас в теме
Скачал, попробовал. Почти понравилось :)

Есть замечание по поводу кнопок управления группировками. Тулить процедуру их генерации в каждый отчет не есть хорошо. Перепишите процедуру для общего модуля, как это сделал я. Только для этого ей нужно передавать 2 параметра - форму и поле табличного документа.

Кстати, я ее еще доделал на случай нескольких табличных документов на форме - для каждой формируется своя ссылка на действие СвернутьДоУровня. Вот только к сожалению, не удалось эту процедуру перенести в общий модуль потому что действие кнопки требует процедуру обработки нажатия только в модуле формы.
103. Юрий Матвеев (mtv:)) 979 05.04.12 05:40 Сейчас в теме
(102) Altair777,
Прочитал ваш комментарий, почти согласен :)

Ваше предложение переписать процедуру для общего модуля подойдет не для всех. Знаю много контор, где категорически против внесения любых изменений в конфигурацию. А те, кто правит свою конфигурацию, думаю сами смогут чуть поправить процедуру для переноса ее в общий модуль. Кстати у меня в рабочей базе так и сделано - в общем модуле. И несколько табличных документов на форме тоже обрабатываются.

В публикации основная идея и простая рабочая отлаженная процедура, для простого и быстрого переноса в новые отчеты. А кто захочет, думаю, допилит сам. Там ничего сложного нет. Да и вы в своем комментарии дали остальным хорошую подсказку, как можно усовершенствовать процедуру, спасибо.
SirYozha; Altair777; +2 Ответить
104. Альтаир (Altair777) 639 05.04.12 10:23 Сейчас в теме
(103) mtv:),
для простого и быстрого переноса в новые отчеты

Для простого и быстрого переноса мне пришлось тоже править отчет :)
Дело в том, что кнопки из командной панели копипастятся только в командную панель. А если надо на форму? Только руками.
Вот я и сделал еще одну форму, где кнопки на форме.

P.S. сорри за тавтологию. Но это еще фигня по сравнению с перлами от 1С.

Кроме того, в 1С:Предприятии 8 для манипулирования типами используются не их строковые наименования, а специальный тип "Тип". Значение типа Тип может быть получено функцией Тип(), получающей в качестве параметра имя типа.
Чтобы проверить тип значения переменной нужно определить ее тип функцией ТипЗнч() и использовать функцию Тип() для получения типа по имени.
altu71; mtv:); +2 Ответить
Оставьте свое сообщение