Рассылка расчетных листков для ЗУП вер. 3.0-3.1

Публикация № 305066

Обмен - Email рассылки

Рассылка расчетных листков по почте для ЗУП 3.0 и ЗУП 3.1

9
Простая обработка для ЗУП 3.0-3.1, рассылающая расчетные листки сотрудникам организации. Может быть хорошей базой для разработки более навороченных версий, под требовательных клиентов.

Обработка под ЗУП 3.0. После нескольких попыток завернуть что-нибудь такое "экстравагантное", и срывов срока на разработку. Старался написать быстро и максимально просто, используя функционал самой конфигурации.

9

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

Наименование Файл Версия Размер
PaySlipsZUP31
.epf 23,30Kb
06.12.18
4
.epf 1.2 23,30Kb 4 Скачать
PaySlipsZUP30
.epf 22,25Kb
06.12.18
111
.epf 1.0 22,25Kb 111 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Synoecium 629 01.10.14 15:04 Сейчас в теме
А можете подробнее написать о принципах работы этой обработки?
Если она отсылает расчетные листки в формате PDF, то каким образом происходит рендеринг формируемого отчета.
2. yaroslavch 24 01.10.14 15:23 Сейчас в теме
день добрый,
Расчетные листки формируются средствами ЗУП 3.0 через отчет АнализНачисленийИУдержаний

Далее, настраиваем Схему Компоновки Данных



ДокументРезультат - Табличный документ получаемый входе выполнения компоновки данных

сохранение в файл идет штатными средствами 1с. Т.е. в поле тип файла в принципе можно вписать любое расширение поддерживаемое 1С платформой.

ТекИмяФайла = КаталогФайла + ИмяФайла + "." + НРег(ЭтотОбъект.Объект.ТипФайла);
	ДокументРезультат.Записать(ТекИмяФайла, ТипФайлаТабличногоДокумента[ЭтотОбъект.Объект.ТипФайла]);
3. Synoecium 629 01.10.14 16:01 Сейчас в теме
Действительно все просто, спасибо)
4. Jawa 5 30.01.15 12:20 Сейчас в теме
Добрый день!
Огромное спасибо за обработку! Просто выручила.
5. sergio199 17 08.04.15 09:43 Сейчас в теме
Спасибо! Возьму за основу. Затем выложу свою с переделками.
6. Гость 09.02.16 18:13
Ошибка при работе в клиент-серверном режиме. Ссылается на то, что не может найти временный файл. Т.к файл записывается на сервере. А открыть его пытается с клиента, обращаясь по тому же пути
7. yaroslavch 24 15.02.16 13:57 Сейчас в теме
(6) Макс, прикольно. У клиента работает до сих пор. Собственно, выложил, как пример работы с почтой для ЗУП 3.0
Дорабатывать не планирую, но если хочешь - доработай и вышли на почту мне, я её обновлю в публикации.
8. vagipov 53 06.04.16 09:37 Сейчас в теме
Спасибо за обработку. Работает! (Отключил только под текущую версию функцию ПолучитьПароль(УчетнаяЗапись), вместо него пароль оставил пустой строкой)

И для того, чтобы в клиент-серверном варианте корректно отрабатывалось прикрепление вложений подправил функцию "СоздатьРасчеткуПоСотруднику(..." и перенес формирование "ДокументРезультат" в новую функцию "ПолучитьОбъектОтчет(..."



&НаСервере
Функция ПолучитьОбъектОтчет(ДокументРезультат,вхФизлицо, вхПериод, ВидРасчетки = "Подробно")
	ОтчетОбъект = Отчеты.АнализНачисленийИУдержаний.Создать();
		
	ВариантОтчета = ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек.Найти("РасчетныйЛисток");
	
	Если ВариантОтчета= Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;

	
	НастройкиОтчета = ВариантОтчета.Настройки;
	
	СтруктураПараметров = Новый Структура;
	СтруктураПараметров.Вставить("Период", Новый СтандартныйПериод(НачалоМесяца(вхПериод), КонецМесяца(вхПериод)));
	СтруктураПараметров.Вставить("НачалоПериода", НачалоМесяца(вхПериод));
	СтруктураПараметров.Вставить("КонецПериода", КонецМесяца(вхПериод));

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

	
	//Если ЗначениеЗаполнено(Документ.Подразделение) Тогда
	//	ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
	//		НастройкиОтчета.Отбор, "Подразделение", Документ.Подразделение, ВидСравненияКомпоновкиДанных.ВИерархии, , Истина);
	//КонецЕсли;
	
	ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
	
	ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("КлючВарианта", "РасчетныйЛисток");
	//ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("Документ", Документ);
	//ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ДанныеВедомости", ДанныеВедомости);
	//Если ЗначениеЗаполнено(Документ.Подразделение) Тогда
	//	ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ПодразделениеВШапке", Документ.Подразделение);
	//КонецЕсли;
	ОтчетОбъект.СкомпоноватьРезультат(ДокументРезультат);

	Возврат ДокументРезультат;
КонецФункции

&НаКлиенте
Функция СоздатьРасчеткуПоСотруднику(вхФизлицо, вхПериод, ВидРасчетки = "Подробно") Экспорт
	
	ДокументРезультат = Новый ТабличныйДокумент;
	ПолучитьОбъектОтчет(ДокументРезультат, вхФизлицо, вхПериод, ВидРасчетки = "Подробно");
	
	// для отладки	
	//ДокументРезультат.Показать();
	
	ИмяФайла = СокрЛП(вхФизлицо);
	КаталогФайла = КаталогВременныхФайлов();
	
	ТекИмяФайла = КаталогФайла + ИмяФайла + "." + НРег(ЭтотОбъект.Объект.ТипФайла);
	ДокументРезультат.Записать(ТекИмяФайла, ТипФайлаТабличногоДокумента[ЭтотОбъект.Объект.ТипФайла]);
	
    Возврат ТекИмяФайла;
	
КонецФункции // СоздатьРасчеткуПоСотруднику()
Показать
9. DreamcastMD 05.10.16 09:29 Сейчас в теме
Мне поставлена аналогичная задача.
Вопрос к комментирующим в 2016 году: почему не используете стандартный функционал?

Описание во вложении или по ссылке

Новость на buh.ru от 20.07.2015



Прикрепленные файлы:
ЗУП 3.0. Рассылка расчетных лисков.pdf
PonomarevDY; +1 Ответить
10. Jen1978 13 05.12.18 17:14 Сейчас в теме
выходит пустой лист. ошибок никаких не выдает
TUTSIC923; +1 Ответить
11. TUTSIC923 05.12.18 19:26 Сейчас в теме
Если есть возможность Хелп! Пол дня промучался, так и всё равно колво строк = 0 , то бишь выходит "Пустой Лист" !!!
12. yaroslavch 24 06.12.18 11:56 Сейчас в теме
(11) обработку актуализировал под последние релизы ЗУП.. Выложу в течении дня, новую версию
13. Jen1978 13 07.12.18 09:19 Сейчас в теме
скачал новую обработку. все равно пустой лист выходит
14. Jen1978 13 07.12.18 09:23 Сейчас в теме
15. Jen1978 13 07.12.18 13:36 Сейчас в теме
короче отличия между первой и второй обработкой нет. поле выходит пустым
16. Jen1978 13 07.12.18 13:38 Сейчас в теме
после трех дней копания в темной магии ЗУП выяснил, что отчет еще до открытия колдует с формой и настройками.
Чтобы все получилось нужно после
ОтчетОбъект = Отчеты.АнализНачисленийИУдержаний.Создать();
добавить еще одну команду
ОтчетОбъект.ИнициализироватьОтчет();

лишь после этого все взлетает.
husainovaea; ger9; +2 Ответить
18. yaroslavch 24 07.12.18 16:53 Сейчас в теме
(16) хорошо добавлю строчку...

У меня в 4 различных базах у разных клиентов все листки отлично формируются.


(15) По вашей проблеме возможно и нет(т.к. не понятны исходные данные)
А так есть, обновил код программы в соответствии с измененными реквизитами и алгоритмами, вставил пожелания предыдущих комментаторов.
17. Jen1978 13 07.12.18 13:38 Сейчас в теме
19. miclesmol 51 11.01.19 19:16 Сейчас в теме
(17)
Подтверждаю на версии 3.1.185 выводится пустой отчет
yaroslavch; +1 Ответить
20. Jen1978 13 11.01.19 22:48 Сейчас в теме
(19) Чтобы все получилось нужно после
ОтчетОбъект = Отчеты.АнализНачисленийИУдержаний.Создать();
добавить еще одну команду
ОтчетОбъект.ИнициализироватьОтчет();

лишь после этого все взлетает.
yaroslavch; +1 Ответить
21. ret 40 14.01.19 18:32 Сейчас в теме
В типовых на базе БСП уже есть встроенная рассылка отчетов.
Конкретно настроить рассылку расчетных листов в ЗУП 3.х можно так:
https://its.1c.ru/db/staff1c#content:34827:zup30
Оставьте свое сообщение