;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

       ВТ_Себестоимость. Проект,

       ВТ_Себестоимость. Номенклатура,

       ВТ_Себестоимость. Количество,

       ВТ_Себестоимость. Себестоимость,

       ЕСТЬNULL(ВТ_Продажа. Продажа, 0) КАК Продажа,

       ЕСТЬNULL(ВТ_Затраты. Затраты, 0) КАК Затраты

ИЗ

       ВТ_Себестоимость КАК ВТ_Себестоимость

               ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Продажа КАК ВТ_Продажа

               ПО ВТ_Себестоимость. Номенклатура = ВТ_Продажа. Номенклатура

                       И ВТ_Себестоимость. Проект = ВТ_Продажа. Проект

               ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Затраты КАК ВТ_Затраты

               ПО ВТ_Себестоимость. Номенклатура = ВТ_Затраты. Номенклатура

                       И ВТ_Себестоимость. Проект = ВТ_Затраты. Проект

ПВХ «ВидыСубконто»

План счетов «Управленческий»

РБ «Основной»

В свойствах ресурса «Количество»


расходная

Дт «Прибыли и убытки»

Кт «Товары»

-

кол-во

Сумма (себест)

Сумма (себест)

Номенклатура

Номенклатура

Проект

Дт «Покупатели»

Кт «Прибыли и убытки»

-

-

Сумма (продаж)

Сумма (продаж)

Номенклатура

Проект

Затраты

Дт «Прибыли и убытки»

Кт «Общехозяйственные затраты»

-

-

Сумма

Сумма

Номенклатура

Проект


Периодические расчеты

Начисление зарплаты сотрудникам предприятия осуществляется ежемесячно с использованием метода отклонений. Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.

НЕ нашли? Не то? Что вы ищете?

Все сотрудники работают по графику работы, установленному отдельно для каждого подразделения.

Сотрудники предприятия получают оплату по окладу пропорционально отработанному времени в часах. Часовая ставка рассчитывается как начальное значение оклада, деленное на количество рабочих часов в том же периоде, что и фактически отработанные часы. В течение расчетного периода первоначальное значение оклада может быть неоднократно изменено. В информационной базе необходимо хранить историю его изменения. Расчет должен проводиться исходя из действующего на рассчитываемую дату начального значения оклада. Например, если начальное значение оклада изменилось 10 августа, то до 10 августа при расчете берется старое значение, а начиная с 10 августа – новое.

Дополнительно, сотрудникам компании может быть начислена премия процентом от начисленного им в том же расчетном периоде оклада. Процент премии в течение периода начисления не меняется и задается в документе «Начисление зарплаты».

Создать отчет «Перерасчет зарплаты», в котором пользователь должен увидеть записи регистра расчета, которые возможно требуется пересчитать.

Объект перерасчета

Вид расчета

...


Саму процедуру перерасчета записей в рамках данной задачи реализовывать не требуется.

Ввод всех начислений происходит документом «Начисление зарплаты». Документ в расчетном периоде может быть один (сразу для всех видов расчета), а может быть несколько (по одному для каждого отдельного вида расчета). Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01, а запись оклад: с 10.01 по 03.02 вводить нельзя. В одном документе могут быть данные за разные расчетные периоды.

*********************************************************************************

Справочник «Физические лица»

Справочник «Подразделения»

Справочник «ГрафикиРаботы»

Документ «НачислениеЗарплаты»

Процедура Расчитать()  Экспорт

       

       Если Проведен Тогда

               Записать(РежимЗаписиДокумента. ОтменаПроведения);

       Иначе

               Записать();

       КонецЕсли;

       

       НаборОсн = Движения. ОсновныеНачисления;

       Выборка = СвормироватьВыборкуОсн();

       ЗаполнитьНабор(НаборОсн, Выборка);

       РасчитатьНабор(НаборОсн, ОсновныеНачисления);

       

       НаборОсн. Записать(,Истина);

       

       НаборДоп = Движения. ДополнительныеНачисления;

       Выборка = СвормироватьВыборкуДоп();

       ЗаполнитьНабор(НаборДоп, Выборка);

       РасчитатьНабор(НаборДоп, ДополнительныеНачисления);

       

       НаборОсн. Очистить();

       НаборОсн. Записать();

       НаборДоп. Очистить();

       НаборДоп. Записать();

       

КонецПроцедуры

Функция СвормироватьВыборкуОсн()

       

       Запрос = Новый Запрос;

       Запрос. Текст =

               "ВЫБРАТЬ

               |        НачислениеЗарплатыОсновныеНачисления. ВидРасчета,

               |        НачислениеЗарплатыОсновныеНачисления. ДатаНачала КАК ПериодДействияНачало,

               |        НачислениеЗарплатыОсновныеНачисления. ДатаОкончания КАК ПериодДействияКонец,

               |        НачислениеЗарплатыОсновныеНачисления. Ссылка. Дата КАК ПериодРегистрации,

               |        НачислениеЗарплатыОсновныеНачисления. Сотрудник,

               |        НачислениеЗарплатыОсновныеНачисления. Результат,

               |        НачислениеЗарплатыОсновныеНачисления. ГрафикРаботы,

               |        НачислениеЗарплатыОсновныеНачисления. Подразделение,

               |        НачислениеЗарплатыОсновныеНачисления. Размер

               |ИЗ

               |        Документ. НачислениеЗарплаты. ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления

               |ГДЕ

               |        НачислениеЗарплатыОсновныеНачисления. Ссылка = &Ссылка

               |

               |УПОРЯДОЧИТЬ ПО

               |        НачислениеЗарплатыОсновныеНачисления. НомерСтроки";

       

       Запрос. УстановитьПараметр("Ссылка", Ссылка);

       Запрос. УстановитьПараметр("ДатаДок", Дата);

       

       РезультатЗапроса = Запрос. Выполнить();

       

       ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

       

       Возврат ВыборкаДетальныеЗаписи

       

КонецФункции

Функция СвормироватьВыборкуДоп()

       

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10