|
Подсистема ЗУП - расчет начислений | ☑ | ||
---|---|---|---|---|
0
eandrs
06.03.12
✎
11:44
|
Типовой модуль ПроведениеРасчетовПереопределяемый. Методика и идеология выполнения расчета - понятна. Интересует - есть ли сколь-нибудь подробное описание того, по какому принципу собираются данные для расчета. В частности - интересуют показатели отработанного времени. Как-то тяжко вкуривается:
Если НеобходимыеДанные.ОтработаноВремени Тогда ТекстЗапроса = ТекстЗапроса + ", | ВЫБОР | КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ) | ТОГДА NULL | КОГДА ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю ЕСТЬ НЕ NULL | ТОГДА 1 | КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы) | ТОГДА 4 | КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ) | ТОГДА NULL | КОГДА СводныеИндивидуальныеГрафики.ОсновноеЗначение ЕСТЬ НЕ NULL | ТОГДА 2 | ИНАЧЕ 3 | КОНЕЦ КАК СпособВводаВремени, | ВЫБОР | КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ) | ТОГДА NULL | КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю ЕСТЬ NULL | ТОГДА ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю | КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени <> | ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка) | И НЕ ОтработаноПоВидуВремениНачисления.Дней ЕСТЬ NULL | ТОГДА | ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы) | ТОГДА | ВЫБОР КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ЕСТЬNULL(ОтработаноПоВидуВремениНачисления.Дней, 0) | ИНАЧЕ ЕСТЬNULL(ОтработаноПоВидуВремениНачисления.Часов, 0) | КОНЕЦ | ИНАЧЕ | ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0) - | ВЫБОР КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Дней, 0) | ИНАЧЕ ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Часов, 0) | КОНЕЦ | КОНЕЦ | КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы) | ТОГДА ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0) | КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ) | ТОГДА NULL | ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОсновноеЗначение, ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0)) | КОНЕЦ КАК ОтработаноВремени, | ВЫБОР | КОГДА Основной.ВидРасчета.ВидВремени В (Значение(Перечисление.ВидыВремени.ЧасовоеНеотработанное), Значение(Перечисление.ВидыВремени.ЧасовоеОтработанноеВПределахНормы)) | ТОГДА 0 | КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ) | ТОГДА 0 | КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ДнейПоТабелю ЕСТЬ NULL | ТОГДА ВремяВведенноеВЦеломЗаПериод.ДнейПоТабелю | КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени.РабочееВремя | И НЕ ОтработаноПоВидуВремениНачисления.Дней ЕСТЬ NULL | ТОГДА ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы) | ТОГДА ЕСТЬNULL(ОтработаноПоВидуВремениНачисления.Дней, 0) | ИНАЧЕ ЕСТЬNULL(ВЫБОР | КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия | ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия | КОНЕЦ, 0) - ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Дней, 0) | КОНЕЦ | КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы) | ТОГДА ЕСТЬNULL(ВЫБОР | КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия | ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия | КОНЕЦ, 0) | КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ) | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ДнейПоГрафику, ЕСТЬNULL(ВЫБОР | КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия | ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия | КОНЕЦ, 0)) | КОНЕЦ КАК ОтработаноДней, | ВЫБОР | КОГДА Основной.ВидРасчета.ВидВремени В (Значение(Перечисление.ВидыВремени.ЧасовоеНеотработанное), Значение(Перечисление.ВидыВремени.ЧасовоеОтработанноеВПределахНормы)) | ТОГДА ЕСТЬNULL(ВремяПоТабелю.ВнутрисменныеЧасыОтклонение, 0) | КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ) | ТОГДА 0 | КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ЧасовПоТабелю ЕСТЬ NULL | ТОГДА ВремяВведенноеВЦеломЗаПериод.ЧасовПоТабелю | КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени.РабочееВремя | И ОтработаноПоВидуВремениНачисления.Часов ЕСТЬ НЕ NULL | ТОГДА ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы) | ТОГДА ОтработаноПоВидуВремениНачисления.Часов | ИНАЧЕ ЕСТЬNULL(ВЫБОР | КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия | ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия | КОНЕЦ, 0) - ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Часов, 0) | КОНЕЦ | КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы) | ТОГДА ЕСТЬNULL(ВЫБОР | КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия | ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия | КОНЕЦ, 0) - ВЫБОР | КОГДА ВремяВведеноТабелем.НомерСтроки ЕСТЬ НЕ NULL | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(ВремяПоТабелю.ОтработаноЧасовПоТабелюОтклонение,0) | КОНЕЦ | КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ) | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ЧасовПоГрафику, ЕСТЬNULL(ВЫБОР | КОГДА Основной.ВидУчетаВремени = &ПоДням | ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия | ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия | КОНЕЦ, 0)) - ЕСТЬNULL(ВремяПоТабелю.ОтработаноЧасовПоТабелюОтклонение,0) | КОНЕЦ КАК ОтработаноЧасов, | ВЫБОР | КОГДА ВремяВведеноТабелем.НомерСтроки ЕСТЬ НЕ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВремяВведеноТабелем, | ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаЧасыФактическийПериодДействия,0) КАК ОтработаноЧасовПроизводственныйГрафик, | ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаФактическийПериодДействия, 0) КАК ОтработаноВремениПроизводственныйГрафик, | ЕСТЬNULL(ВремяПоТабелю.ОтработаноЧасовПоТабелюОтклонение,0) КАК ОтработаноЧасовПоТабелюОтклонение"; Если КомментироватьРасчет Тогда ПоляЗапроса.Добавить("ОтработаноВремени"); ПоляЗапроса.Добавить("ОтработаноДней"); ПоляЗапроса.Добавить("ОтработаноЧасов"); ПоляЗапроса.Добавить("ОтработаноВремениПроизводственныйГрафик"); ПоляЗапроса.Добавить("ОтработаноЧасовПроизводственныйГрафик"); ПоляЗапроса.Добавить("ОтработаноЧасовПоТабелюОтклонение"); ПоляЗапроса.Добавить("ВремяВведеноТабелем"); КонецЕсли; КонецЕсли; - что хотели этим сказать разработчики? |
|||
1
Господин ПЖ
06.03.12
✎
11:48
|
подсистемы расчета з/п в 1С - чудо враждебной техники...
почему данные по среднедневному заработку можно получить только внутри документа расчета отпусных например?.. |
|||
2
eandrs
06.03.12
✎
11:54
|
Иногда мне кажется что зарплату для 1с пишет один-единственный человек. Который всё знает, но ничего никому не говорит. И сами остальные одинесовцы - тоже в душе не е....т как там это всё работает, поэтому этого человека жутко берегут и никому не показывают...
|
|||
3
ДемонМаксвелла
06.03.12
✎
12:03
|
(0) буквально вчера пытался это вкурить. это делали не люди, а инопланетяне какие-то. в итоге бросил. распровел все документы, потом провел снова, при заполнении начисления з/п стало всё на место.
|
|||
4
eandrs
06.03.12
✎
13:21
|
А если жертву Ктулху принести - поможет?
|
|||
5
eandrs
07.03.12
✎
08:46
|
А если Ктулху в жертву принести?
|
|||
6
Dmitry77
07.03.12
✎
09:10
|
(0) для зарплаты - запросы на пару листов это нормально.
Есть желтые книжки из коробки там много чего написано. Неси большую кучу денежег и тебе помогут. |
|||
7
Ranger_83
07.03.12
✎
09:15
|
(0)Есть матчасть,читай Харитонова "Секреты профессиональной работы"
|
|||
8
spu79
07.03.12
✎
09:20
|
Харитонов - ГУРУ!
А вообще не стоит обижать с-ников, сами попробуйте написать конфу 1. универсальную для всей страны 2. учесть "дружественное и интуитивно понятное" законодательство, которое еще и меняется постоянно... |
|||
9
eandrs
12.03.12
✎
12:14
|
(6) Длина запросов - не проблема... В желтых книжках, как, кстати, и в "Секреты профессиональной работы" от Харитонова - описание со стороны пользователей. Приведен общий принцип - данные графика за вычетом отклонений, либо, если есть - табель. На словах красиво и понятно, а когда лезешь внутрь - стойкое ощущение что тебя нае...
|
|||
10
СамСебе Режиссер
12.03.12
✎
14:47
|
Имхо, все просто читается по запросу. Проблема-то в чем?
Надо учесть много вариантов ввода данных - отсюда и многоэтажность. |
|||
11
eandrs
12.03.12
✎
15:40
|
(10) Ну... Если "все просто читается по запросу", можно мне, неграмотному, прочитать, что скрывается под полем "ОтработаноЧасовПоТабелюОтклонение"? ;-) Что имели ввиду под ним разработчики?
|
|||
12
eandrs
13.03.12
✎
13:56
|
Опять жертву Ктулху...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |