gifts2017

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

Опубликовал Ярослав Григорьев (yaroslavch) в раздел Обмен - Email рассылки

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

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

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

Наименование Файл Версия Размер Кол. Скачив.
PaySlipsZUP30
.epf 22,25Kb
30.09.14
95
.epf 1.0 22,25Kb 95 Скачать

См. также

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

Комментарии

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

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



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

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

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

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



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

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

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

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

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

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

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

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



Прикрепленные файлы:
ЗУП 3.0. Рассылка расчетных лисков.pdf
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа