gifts2017

С праздником 8 марта!

Опубликовал Александр Зернятко (azernot) в раздел Сообщество - Поздравления

Обработка поздравляющая женскую часть коллектива с праздником 8 марта.

Вашему вниманию предлагается обработка, которая в режиме рбочего стола выводит приятную картинку, поздравляющую наших дорогих женщин с праздником 8 марта. Очень лего подключается для авто запуска, надо всего лишь в модуле приложения, в обработчике ПриНачалеРаботыСистемы() вставить небольшой кусочек кода:

 //+Azernot - Поздравительные открытки
 //8 марта
ДатаПраздника = 8;
МесяцПраздника = 3;
Если Месяц(ТекущаяДата()) = МесяцПраздника Тогда
 ДеньНедели = ДеньНедели(Дата(Год(ТекущаяДата()),МесяцПраздника,ДатаПраздника));
 Если ДеньНедели > 5 Тогда //Праздник попадает на Сб, Вс, открытку выводить нужно в Пт
  СмещениеДат = ДеньНедели - 5;
 ИначеЕсли ДеньНедели < 3 Тогда //Праздник попадает на Пн, Вт, открытку выводить нужно в Пт, Сб
  СмещениеДат = 3;
 Иначе
  СмещениеДат = 1;
 КонецЕсли; 
 
 Если НачалоДня(ТекущаяДата()) = НачалоДня(Дата(Год(ТекущаяДата()),МесяцПраздника,(ДатаПраздника - СмещениеДат))) Тогда
  ФизЛицоглЗначениеПеременной("глТекущийПользователь").ФизЛицо;
  ПоказыватьОткрытку = Истина;
  Если ЗначениеЗаполнено(ФизЛицо) Тогда
   Если ФизЛицо.Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда
    ПоказыватьОткрытку = Ложь;
   КонецЕсли;
  КонецЕсли;
  Если ПоказыватьОткрытку Тогда
   Открытка = ВнешниеОбработки.ПолучитьФорму("","Форма");
   Открытка.Открыть();
  КонецЕсли;
 КонецЕсли;
КонецЕсли;
///Azernot  - конец блока

- путь к файлу обработки в каком-нибудь общедоступном месте, например, "\\Server\1c\Спраздником.epf"

 Ну или на крайний случай, можно предложить пользователям самостоятельно запустить обработку через Файл-Открыть.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Обработка поздравления с праздником
.1236249794 62,74Kb
25.02.13
467
.1236249794 62,74Kb 467 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Olga Olga (olga1974) 05.03.09 17:05
2. Неля Шамсутдинова (Nailya_Oren) 05.03.09 17:22
3. Андрей Скляров (coder1cv8) 05.03.09 17:52
(0) А можно сделать персонифицированную открытку, т.е. из ФизЛиц вытаскивать ещё и имя и подставлять?... )
4. Александр Зернятко (azernot) 05.03.09 17:59
Можно, я думал об этом.... Но красивым текстом не вставить (если не заморачиваться с картинками алфавита), поэтому решил не заморачиваться...
Хочешь, можешь доделать, все будут благодарны :).
5. Артур Аюханов (artbear) 05.03.09 18:20
Не хватает какого-нибудь поздравления, например, юморного :)
7. Аркадий (prog_arc) 08.03.09 21:50
хорошо но с проверкой даты не очень универсально
8. Александр Зернятко (azernot) 10.03.09 10:08
(7) С датой совсем универсально не получится. Дело в том, что выводить картинку надо в последний рабочий день перед праздником, а угадать как там перенесут выходные проблематично (когда праздник приодится на вторник, могут перенести рабочий день с понедельника на субботу, а могут и не перенести).
9. Артур Аюханов (artbear) 11.03.09 15:04
(8) Ага, тут универсальность не очень-то и нужна :)
Я думаю, повторять одну и ту же обработку с одной и той же картинкой нет смысла несколько лет подряд.
10. Александр Зернятко (azernot) 11.03.09 17:39
(10) Ну я типа был пойман на слабо и реализовал универсальный механизм, применимый для любого праздника... :)
11. Артур Аюханов (artbear) 11.03.09 22:00
(11) Кстати, я лично накололся с подобным поздравлением в новой конторе пару лет назад :)
Одна из баз была распределенной, а я на радостях об этом забыл :) и оставил вызов внешней обработки.
В главном офисе все были очень довольны, а вот с магазинами пришлось повозиться, т.к. модуль приложения валился и не пускал в 1С вообще :), соответственно, исправить конфу в магазинах было нельзя, загрузку нового варианта также не осуществить :(
Пришлось извращаться с бат-файлом - создание вирт.диска, копирование обработки на нужный путь и т.д. :)

Так что лучший/надежный вариант - все-таки помещать внутрь конфы :)
12. Сhe Burashka (CheBurator) 12.03.09 04:38
а с датой: при запуске стучимся в инет, если успешно - читаем производственный календарь... ;-)
13. Сhe Burashka (CheBurator) 12.03.09 04:41
а еще хорошо с использованием медиаплеера прямо внутри 1ски врубать вот это: http://www.youtube.com/watch?v=YpC96olIykU
14. Александр Зернятко (azernot) 12.03.09 11:00
(11) У меня терминал :) Заменить вызов обработки на внутреннюю - 5 сек делов (надо только захотеть). Пусть уж многоуважаемые 1с-ники сами пораскинут мозгами.
(12) А если неуспешно? У меня 95% пользователей доступа в инет не имеют.
(13) Ну... Тут прелесть в том, что весь день висит обработка которую пользователь сам и закрыть-то не может, и ресурсов она не кушает много, и людям настроение создаёт :).
15. Александр Зернятко (azernot) 01.03.10 13:44
Напоминаю всем 1С-никам о необходимости внедрить эту разработку в основную конфигурацию в ближайшее время!
16. Артур Аюханов (artbear) 05.03.10 09:43
(15) Лично я твой код по запуску поздравления поправил так:
Код
Функция НужноВыводитьПоздравлениеСПраздниками(ДатаПраздника, МесяцПраздника, РаботаемВСубботу, ТекущаяДатаДляОтладки = Неопределено)
   Если ЗначениеЗаполнено(ТекущаяДатаДляОтладки) Тогда
      лТекущаяДата = ТекущаяДатаДляОтладки;
   Иначе
      лТекущаяДата = ТекущаяДата();
   КонецЕсли; 
   
   началоДняТекущейДаты = НачалоДня(лТекущаяДата);
   
   Если Месяц(лТекущаяДата) = МесяцПраздника Тогда
      ДеньНедели = ДеньНедели(Дата(Год(лТекущаяДата), МесяцПраздника, ДатаПраздника));
      Если ДеньНедели > 5 Тогда //Праздник попадает на Сб, Вс, открытку выводить нужно в Пт
         Если РаботаемВСубботу Тогда
            СмещениеДат = ДеньНедели - 6;
         Иначе
            СмещениеДат = ДеньНедели - 5;
         КонецЕсли; 
      ИначеЕсли ДеньНедели < 3 Тогда //Праздник попадает на Пн, Вт, открытку выводить нужно в Пт, Сб
         Если РаботаемВСубботу Тогда
            СмещениеДат = 2;
         Иначе
            СмещениеДат = 3;
         КонецЕсли; 
      Иначе
         СмещениеДат = 1;
      КонецЕсли; 

      Если началоДняТекущейДаты = НачалоДня(Дата(Год(лТекущаяДата),МесяцПраздника,(ДатаПраздника - СмещениеДат))) Тогда
         ФизЛицо =  глЗначениеПеременной("глТекущийПользователь").ФизЛицо;
         Если ЗначениеЗаполнено(ФизЛицо) Тогда
            Если ФизЛицо.Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда
                Возврат ЛОЖЬ;
            КонецЕсли;
         КонецЕсли;
         Возврат Истина;
      КонецЕсли;
   КонецЕсли;
   Возврат ЛОЖЬ;
КонецФункции
Показать полностью

и
Код
   ДатаПраздника = 8; МесяцПраздника = 3; //8 марта
   РаботаемВСубботу = ЛОЖЬ; //Истина;
   Если НужноВыводитьПоздравлениеСПраздниками(ДатаПраздника, МесяцПраздника, РаботаемВСубботу, лТекущаяДата) Тогда
      Попытка
         Открытка = ВнешниеОбработки.ПолучитьФорму("<Путь к обработке>","Форма");
         Открытка.Открыть();
      Исключение
          //ОписаниеОшибки()
      КонецПопытки;
   КонецЕсли; 
Показать полностью


1. Некоторые организации работают и по субботам :)
2. В Праздничный день ничего не должно омрачать праздник - поэтому Попытка :)
17. vIKYS vkalinsk (MoonBee) 24.10.11 12:46
Все сотрудницы отдела были просто в восторге от такого поздравления!)))) Было очень приятно поздравить таким образом из с праздником. Огромное спасибо разработчику!
18. Ruslan Ahmetshin (AruslanM) 07.12.11 11:33
Спасибо. Применил идею при поздравлении на Новый год и все. Может еще пригодится когда нибудь)
19. Андрей Скачёк (Andro_sas) 30.01.12 20:37
{МодульОбычногоПриложения(64)}: Ошибка при вызове метода контекста (Открыть)
Открытка.Открыть();
по причине:

по причине:
Данное действие недоступно в связи с отсутствием главного окна

help...
20. Андрей Скачёк (Andro_sas) 30.01.12 20:54
РЕБЯТА! почесал репу!! спасибо огромное все работает! Хотелось бы узнать как в 7.7 запустить её же. Или аналог.
21. Гость 20.02.12 10:20
Прикольно, автору Спасибо
22. Александр (Sanek_159) 24.02.12 14:25
(20) Andro_sas, Вот: http://infostart.ru/public/116733/ или вот http://infostart.ru/public/66374/. В поиске набери "8 марта "с фильтром по 7.7.
23. Александр Муравьев (trunix) 01.03.12 10:36
Спасибо автору! Будем поздравлять дорогих женщин с 8 Марта!!!
24. Nat5 (nat5) 13.03.12 12:53
Спасибо автору, сомтрели всем офисом. Порадовали наших дам!
25. Nat5 (nat5) 13.03.12 12:54
С датой совсем универсально не получится. Дело в том, что выводить картинку надо в последний рабочий день перед праздником, а угадать как там перенесут выходные проблематично (когда праздник приодится на вторник, могут перенести рабочий день с понедельника на субботу, а могут и не перенести).

мне кажется это не очень существенно
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа