|
1С 8.2 ЗиУП редакция 2.5 | ☑ | ||
---|---|---|---|---|
0
upseven
26.11.12
✎
15:20
|
По просьбе бухгалтеров, в печатной форме НачисленияЗП заменил вывод ВидаРасчета на вывод Должность. Все вроде работает. Сделал это так (строка под звездочками**):
Процедура ПечатьТабеляРегл(ВидПечати) Экспорт ТабДок = Новый ТабличныйДокумент; Макет = Документы.НачислениеЗарплатыРаботникамОрганизаций.ПолучитьМакет("Печать"); // Заголовок Область = Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Область); // Шапка Область = Макет.ПолучитьОбласть("Шапка"); Область.Параметры.Номер = Номер; Область.Параметры.Дата = Дата; Область.Параметры.ПодразделениеОрганизации = ПодразделениеОрганизации; Область.Параметры.ВидОтчета = ВидПечати; //Область.Параметры.КТУ = КТУ; ТабДок.Вывести(Область); Если ВидПечати="Начисления" Тогда // Начисления ИтогРезультат=0; Область = Макет.ПолучитьОбласть("НачисленияШапка"); ТабДок.Вывести(Область); Для Каждого ТекСтрокаНачисления Из Начисления Цикл Область = Макет.ПолучитьОбласть("Начисления"); Область.Параметры.Физлицо = ТекСтрокаНачисления.Физлицо; //************************************************************************* Область.Параметры.Должность = ТекСтрокаНачисления.Сотрудник.Должность; //Область.Параметры.ВидРасчета = ТекСтрокаНачисления.ВидРасчета; //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Область.Параметры.ДатаНачала = ТекСтрокаНачисления.ДатаНачала; Область.Параметры.ДатаОкончания = ТекСтрокаНачисления.ДатаОкончания; Область.Параметры.ОтработаноДней = ТекСтрокаНачисления.ОтработаноДней; Область.Параметры.ОтработаноЧасов = ТекСтрокаНачисления.ОтработаноЧасов; Область.Параметры.Размер = ТекСтрокаНачисления.Показатель1; Область.Параметры.КТУ1 = ТекСтрокаНачисления.КТУ; Область.Параметры.Результат = ТекСтрокаНачисления.Результат; ТабДок.Вывести(Область); ИтогРезультат=ИтогРезультат+ТекСтрокаНачисления.Результат; КонецЦикла; Область = Макет.ПолучитьОбласть("НачисленияИтог"); Область.Параметры.Результат = ИтогРезультат; ТабДок.Вывести(Область); ИначеЕсли ВидПечати="ДопНачисления" Тогда // ДополнительныеНачисления... Спросил опытного программиста, все ли я правильно сделал? Он ответил что нет, и что должность надо было получить из регистра сведений. |
|||
1
Amra
26.11.12
✎
15:22
|
Правильно он все сказал
|
|||
2
upseven
26.11.12
✎
15:22
|
Повлечет ли какие то последствия то что должность не из регистра?
|
|||
3
Amra
26.11.12
✎
15:23
|
(2) Некорректно всего лишь
|
|||
4
shuhard
26.11.12
✎
15:23
|
(2) угу
после первого кадрового перемещения тебе что-нибудь оторвут |
|||
5
upseven
26.11.12
✎
15:31
|
(4) а что будет не так?
|
|||
6
Amra
26.11.12
✎
15:32
|
(5) То что при кадровом перемещении должность в справочнике не обновляется, только в регистре
|
|||
7
upseven
26.11.12
✎
15:34
|
(6) вот же фак!
ок, понял, спасибо. Буду пробовать получить из регистра |
|||
8
dmpl
26.11.12
✎
15:40
|
(6) Обновляется, но не этот реквизит. Впрочем, и он тоже не всегда правильный.
|
|||
9
upseven
26.11.12
✎
15:41
|
(6) Последний вопрос.
В практически аналогичном документе печатная форма получает параметр Должность из функции: Функция ПолучитьЗапросНачисления(ДокОбъект) СписокФЛ= Новый СписокЗначений(); СписокФЛ.ЗагрузитьЗначения(ДокОбъект.Начисления.ВыгрузитьКолонку("Физлицо")); Запрос= Новый Запрос(); Запрос.УстановитьПараметр("ДатаДок", ДокОбъект.Дата); Запрос.УстановитьПараметр("ДатаНач", НачалоМесяца(ДокОбъект.Дата)); Запрос.УстановитьПараметр("ДатаКон", КонецМесяца(ДокОбъект.Дата)); Запрос.УстановитьПараметр("ТекущийДокумент", ДокОбъект.Ссылка); Запрос.УстановитьПараметр("СписокФЛ", СписокФЛ); Запрос.УстановитьПараметр("парамБух", Планывидоврасчета.УправленческиеНачисления.НачисленоПоБухгалтерии); Запрос.Текст= "ВЫБРАТЬ | Начисления.Физлицо КАК ФизЛицо, | Начисления.Сотрудник.Код КАК ТабельныйНомер, | РаботникиСрезПоследних.Должность КАК Должность, | Начисления.Показатель1 КАК Тариф, | Начисления.ОтработаноДней, | Начисления.ОтработаноЧасов, | Начисления.КТУ, | Начисления.Результат КАК Сумма, | 0 КАК СуммаТаб, | ЛОЖЬ КАК ПЗ |ИЗ | Документ.НачислениеЗарплатыРаботникам.Начисления КАК Начисления | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники.СрезПоследних(&ДатаДок, ) КАК РаботникиСрезПоследних | ПО Начисления.Физлицо = РаботникиСрезПоследних.ФизЛицо |ГДЕ | Начисления.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | ТабельныйНомер"; ТабНач=Запрос.Выполнить().Выгрузить(); Запрос= Новый Запрос(); Запрос.УстановитьПараметр("ДатаДок", ДокОбъект.Дата); Запрос.УстановитьПараметр("ДатаНач", НачалоМесяца(ДокОбъект.Дата)); Запрос.УстановитьПараметр("ДатаКон", КонецМесяца(ДокОбъект.Дата)); Запрос.УстановитьПараметр("ТекущийДокумент", ДокОбъект.Ссылка); Запрос.УстановитьПараметр("СписокФЛ", СписокФЛ); Запрос.УстановитьПараметр("парамБух", Планывидоврасчета.УправленческиеНачисления.НачисленоПоБухгалтерии); Запрос.Текст= "ВЫБРАТЬ РАЗЛИЧНЫЕ | УправленческиеНачисления.ФизЛицо КАК ФизЛицо, | 0 КАК Тариф, | 0 КАК ОтработаноДней, | 0 КАК ОтработаноЧасов, | 0 КАК КТУ, | 0 КАК Сумма, | СУММА(-УправленческиеНачисления.Результат) КАК СуммаТаб |ИЗ | РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления |ГДЕ | УправленческиеНачисления.ВидРасчета = &парамБух | И УправленческиеНачисления.ФизЛицо В(&СписокФЛ) | И УправленческиеНачисления.ПериодДействияНачало >= &ДатаНач | И УправленческиеНачисления.ПериодДействияКонец <= &ДатаКон | |СГРУППИРОВАТЬ ПО | УправленческиеНачисления.ФизЛицо"; ТабНачБух=Запрос.Выполнить().Выгрузить(); Для Каждого ТекСтр Из ТабНачБух Цикл ТекФЛ=ТекСтр.ФизЛицо; //Сообщить(ТекФЛ); ОтборФл = Новый Структура ; ОтборФл.Вставить("ФизЛицо",ТекФл); СтрокиФл= ТабНач.НайтиСтроки(ОтборФл); Если СтрокиФл.Количество() = 0 Тогда Продолжить; КонецЕсли; СуммаБух = ТекСтр.СуммаТаб ; Для Каждого НовСтр Из СтрокиФл Цикл НовСтр.СуммаТаб=НовСтр.СуммаТаб+СуммаБух; НовСтр.ПЗ=Истина; СуммаБух=0 ; //Сообщить(Строка(ТекФЛ)+ " нач Бух= "+Строка(ТекСтр.СуммаТаб)); КонецЦикла; КонецЦикла; //ТабНач.Свернуть("ФизЛицо,ТабельныйНомер,Должность","Тариф,ОтработаноДней,ОтработаноЧасов,КТУ,Сумма,СуммаТаб"); Возврат ТабНач; КонецФункции это мне что то похожее сделать надо? |
|||
10
dmpl
26.11.12
✎
15:54
|
(9) Лучше подумай, что будешь делать, когда должность будет меняться в середине месяца. А иначе зачем выводить должность? Она итак есть в правом верхнем углу расчетного листка.
|
|||
11
upseven
27.11.12
✎
09:22
|
(10) вывод должности для удобства работы экономиста. при начислении зп она сверяется с штатным расписанием. это со слов бухгалтера.
|
|||
12
dmpl
27.11.12
✎
10:03
|
(11) В штатном расчетном листке должность выводится в правом верхнем углу листка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |