Часто расчетчики зарплаты хотят рассчитывать и выплачивать аванс не фиксированной суммой (40% от оклада), а пропорционально отработанным дням. Т.е. при расчете аванса учитывать отпуска, б\л и прочие отклонения.
Собственно, с этой целью и разработан данный отчет-обработка.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Наименование
Скачано
Купить файл
По подписке PRO
Расчет аванса пропорционально отработанным дням для 7.7 ЗиК v 2.0
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Функциональность:
1. Проверка аванса:
- Сверять аванс в карточке с расчетным. (проверка равенства Сумма аванса = Оклад * Ставка * 40%)
- Рассчитывать сумму аванса пропорциоанльно отработанным дням (Проверка равенства Сумма аванса = (Оклад*ставка*40%)/Кол. раб дней по 15-е * Кол. фактич отраб. дней по 15-е.
2. Отчет по отклонениям за месяц:
3. Корректировка сумм аванса в документе "Выплата заработной платы". Документ должен быть создан заранее.
Внешняя обработка позволяет проверить уникальность номеров всех видов документов. При проверке в базу не вносятся никакие изменения. При желании можно сделать исправление дублей номеров.
Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.
Пример реализации сверок между базами и исправления расхождений в обе стороны, из 7.7 -> в 8.3 и из 8.3 -> в 7.7 на обычных формах. Фундаментальные обработки, которые работают на постоянной основе и поддерживают идентичность данных между базами основных поставщиков и основных покупателей (их соответствие прописано в модуле). Используется Новый COMОбъект("V77.Application"), пример использования внешнего источника данных. Реализация в поступление. Поступление в поступление. Корректировка поступления в корректировку отгрузки. СчФ выданный в СчФ полученный. Исправление СчФ полученного в исправление СчФ выданного. Перенос документа Реализация 7.7 в Поступление 8, Перемещение 7.7 в Поступление 8. Акт сверки взаиморасчетов (несколько организаций). Все обработки запускаются в базе 1С Предприятие 8 (обычные формы).
Универсальная обработка 7.7, представленная здесь, до сих пор почему-то по функционалу гораздо беднее, чем общеизвестная типовая "Универсальный подбор и обработка объектов" (UNIREPS82\UniversalSelection) 8.2-8.3", мне не хватило возможности выполнить произвольный код обработчика объектов. Данная обработка "UChoice.ert" является полным аналогом "UniversalSelection", представляет собой консоль выполнения произвольного кода, позволяет делать с объектами информационной базы 1С 7.7 абсолютно все, что угодно, а не узкий, сложно настраиваемый набор команд, на мой взгляд, она существенно превосходит имеющиеся аналоги, поэтому ничем другим кроме нее я не пользуюсь.
1. Обработка позволяет совершать следующие действия над объектами:
а. СПРАВОЧНИКИ: удаление; пометка на удаление; снятие пометки на удаление.
б. ДОКУМЕНТЫ: удаление; пометка на удаление; снятие пометки на удаление; проведение; отмена проведения; выключить проводки; включить проводки.
2. Действия могут быть ограничены некоторыми условиями.
3. Существует отбор по видам объектов.
4. Есть возможность обработать подчиненные справочники.
Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже).
В обработке документов реализованы следующие действия:
Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части.
В обработке справочников реализованы следующие действия:
Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.
Добрый день. Спасибо.
Конечно обработка нужная.
Для NikaK. Если работник 5 дней болел, 2 дня в прогуле, еще 3 дня - в бане, -то какой ему извините аванс?
В ЗиК 327 - не открывается, сдаётся мне что обработка вовсе не для ЗиК, а для Рарус.
Ибо пишет вот что:
ДатаНач=МАКС(глСпрРарус_ОтпускаПрошлыхГодов<<?>>.Начало, ДатаНачала);
{...\\АВАНС.ERT(65)}: Переменная не определена (глСпрРарус_ОтпускаПрошлыхГодов)
(4) ffv,
Здравствуйте, ffv.
Обработка для ЗиК. Просто наша конфигурация содержит ряд добавленных объектов, в том числе, справочник "глСпрРарус_ОтпускаПрошлыхГодов", добавленный когда-то Рарусом.
Вам нужно закомментировать строки 47 - 85:
//Изменения {начало} СофтПоинт СотникСА 19.07.2011 от РХ
//Заполним все отклонения от нормы рабочего графика
ЭтоСотрудникСВ = глЭтоСотрудникСВ(Сотрудник);
Если ЭтоСотрудникСВ = 1 Тогда
Если ДатаНачала < '08.04.2011' Тогда
ДнейПо = Мин(ДатаОкончания, '07.04.2011') - ДатаНачала;
глСпрРарус_ОтпускаПрошлыхГодов.ИспользоватьВладельца(Сотрудник);
глСпрРарус_ОтпускаПрошлыхГодов.ВыбратьЭлементы();
Пока глСпрРарус_ОтпускаПрошлыхГодов.ПолучитьЭлемент() = 1 Цикл
Если (глСпрРарус_ОтпускаПрошлыхГодов.Начало >= ДатаНачала)
ИЛИ (глСпрРарус_ОтпускаПрошлыхГодов.Окончание >= ДатаНачала) Тогда
ДатаКон= МИН(глСпрРарус_ОтпускаПрошлыхГодов.Окончание, ДатаОкончания);
ДатаНач= глСпрРарус_ОтпускаПрошлыхГодов.Начало;
Если (глСпрРарус_ОтпускаПрошлыхГодов.Начало < ДатаНачала)
И (глСпрРарус_ОтпускаПрошлыхГодов.Окончание >= ДатаНачала) Тогда
ДатаНач=МАКС(глСпрРарус_ОтпускаПрошлыхГодов.Начало, ДатаНачала);
КонецЕсли;
Для инд = ИндНач По ИндКон Цикл
Если (ДатаНачала+инд) < ДатаПриема Тогда
Продолжить;
КонецЕсли;
ИндДня = НомерДняПериода(ДатаНачала, ДатаНачала + инд);
МассивДней[ИндДня] = "Х";
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
СписокВР.ДобавитьЗначение(ВидРасчета.ПроизвольнаяДоплата27); // Оплата по окладу СВ
КонецЕсли;
//Изменения {окончание} СофтПоинт СотникСА 24.08.2011 от РХ
{ ПО ЗП\АВАНС.ERT(58)}: Переменная не определена (глСпрРарус_ОтпускаПрошлыхГодов)
ДатаКон= МИН(глСпрРарус_ОтпускаПрошлыхГодов<<?>>.Окончание, ДатаОкончания);