Crmen
04.09.2012, 17:21
Нужно в ЗиУП 8.2 документе Зарплата к выплате организации, сформировать другой список плательщиков в банк, который должен состоять только из лицевого счета сотрудника и соответсвующей суммы заработной платы, только 2 колонки. Я создал Внешнюю обработку, но при добавлении ее в предприятии через сервис - дополнительные внешние обработки, не возможно выбрать принадлежность созданной мной обработки к документу. В чем может быть причина, и правильно ли я сформировал модуль объекта. Подскажите пожалуйста.
Модуль объекта:
Функция Печать() Экспорт
ТабДокумент = Неопределено;
Если НЕ СсылкаНаОбъект.СпособВыпл� �ты=Перечисления.СпособыВы� �латыЗарплаты.ЧерезБанк тогда
Сообщить("Документ можно распечатать только, если перечисление через банк!");
возврат Неопределено;
КонецЕсли;
Объект = СсылкаНаОбъект.ПолучитьОб� �ект();
Если Объект.ЭтоНовый() Тогда
Предупреждение("Документ можно распечатать только после его записи");
Возврат ТабДокумент;
КонецЕсли;
Если Не РаботаСДиалогами.Проверит� �Модифицированность(Объект ) Тогда
Возврат ТабДокумент;
КонецЕсли;
Запрос=Новый Запрос;
Запрос.текст="ВЫБРАТЬ
| ЛицевыеСчетаРаботниковОрг анизации.НомерЛицевогоСче� �а КАК НомерЗарплатногоСчета,
| ЗарплатаКВыплатеОрганизац ийЗарплата.Сумма КАК Сумма_Компенсация,
| ЗарплатаКВыплатеОрганизац ийЗарплата.Физлицо КАК Сотрудник_Наименование,
| ЗарплатаКВыплатеОрганизац ийЗарплата.КомпенсацияЗаЗ� �держкуЗарплаты КАК Компенсация
|ИЗ
| Документ.ЗарплатаКВыплате� �рганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизац ийЗарплата
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЛицевыеСч� �таРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрг анизации
| ПО ЗарплатаКВыплатеОрганизац ийЗарплата.Физлицо = ЛицевыеСчетаРаботниковОрг анизации.ФизЛицо
| И ЗарплатаКВыплатеОрганизац ийЗарплата.Ссылка.Организа ция = ЛицевыеСчетаРаботниковОрг анизации.Организация
| И ЗарплатаКВыплатеОрганизац ийЗарплата.Ссылка.Банк = ЛицевыеСчетаРаботниковОрг анизации.Банк
|ГДЕ
| ЗарплатаКВыплатеОрганизац ийЗарплата.Ссылка = &Ссылка
|ИТОГИ
| СУММА(Сумма_Компенсация)
|ПО
| ОБЩИЕ";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Рез=Запрос.Выполнить().Выбр� �ть(ОбходРезультатаЗапроса .ПоГруппировкам);
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МойЭксперимент");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ТабДокумент.Вывести(Област ьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбщаяСумма=0;
Если Рез.Следующий() тогда
ТабЗарплата=Рез.Выбрать();
ОбщаяСумма=Рез.Сумма_Компе� �сация;
ОбластьМакета.Параметры.Об щаяСумма=ОбщаяСумма;
НомСтр=1;
Пока ТабЗарплата.Следующий() Цикл
ЗаполнитьЗначенияСвойств(� �бластьМакета.Параметры,Та� �Зарплата);
ТабДокумент.Вывести(Област ьМакета);
НомСтр=НомСтр+1;
КонецЦикла;
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
Возврат ТабДокумент;
КонецФункции
Скриншоты Табличной части и самой обработки
823
Модуль объекта:
Функция Печать() Экспорт
ТабДокумент = Неопределено;
Если НЕ СсылкаНаОбъект.СпособВыпл� �ты=Перечисления.СпособыВы� �латыЗарплаты.ЧерезБанк тогда
Сообщить("Документ можно распечатать только, если перечисление через банк!");
возврат Неопределено;
КонецЕсли;
Объект = СсылкаНаОбъект.ПолучитьОб� �ект();
Если Объект.ЭтоНовый() Тогда
Предупреждение("Документ можно распечатать только после его записи");
Возврат ТабДокумент;
КонецЕсли;
Если Не РаботаСДиалогами.Проверит� �Модифицированность(Объект ) Тогда
Возврат ТабДокумент;
КонецЕсли;
Запрос=Новый Запрос;
Запрос.текст="ВЫБРАТЬ
| ЛицевыеСчетаРаботниковОрг анизации.НомерЛицевогоСче� �а КАК НомерЗарплатногоСчета,
| ЗарплатаКВыплатеОрганизац ийЗарплата.Сумма КАК Сумма_Компенсация,
| ЗарплатаКВыплатеОрганизац ийЗарплата.Физлицо КАК Сотрудник_Наименование,
| ЗарплатаКВыплатеОрганизац ийЗарплата.КомпенсацияЗаЗ� �держкуЗарплаты КАК Компенсация
|ИЗ
| Документ.ЗарплатаКВыплате� �рганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизац ийЗарплата
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЛицевыеСч� �таРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрг анизации
| ПО ЗарплатаКВыплатеОрганизац ийЗарплата.Физлицо = ЛицевыеСчетаРаботниковОрг анизации.ФизЛицо
| И ЗарплатаКВыплатеОрганизац ийЗарплата.Ссылка.Организа ция = ЛицевыеСчетаРаботниковОрг анизации.Организация
| И ЗарплатаКВыплатеОрганизац ийЗарплата.Ссылка.Банк = ЛицевыеСчетаРаботниковОрг анизации.Банк
|ГДЕ
| ЗарплатаКВыплатеОрганизац ийЗарплата.Ссылка = &Ссылка
|ИТОГИ
| СУММА(Сумма_Компенсация)
|ПО
| ОБЩИЕ";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Рез=Запрос.Выполнить().Выбр� �ть(ОбходРезультатаЗапроса .ПоГруппировкам);
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МойЭксперимент");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ТабДокумент.Вывести(Област ьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбщаяСумма=0;
Если Рез.Следующий() тогда
ТабЗарплата=Рез.Выбрать();
ОбщаяСумма=Рез.Сумма_Компе� �сация;
ОбластьМакета.Параметры.Об щаяСумма=ОбщаяСумма;
НомСтр=1;
Пока ТабЗарплата.Следующий() Цикл
ЗаполнитьЗначенияСвойств(� �бластьМакета.Параметры,Та� �Зарплата);
ТабДокумент.Вывести(Област ьМакета);
НомСтр=НомСтр+1;
КонецЦикла;
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
Возврат ТабДокумент;
КонецФункции
Скриншоты Табличной части и самой обработки
823