Имя: Пароль:
1C
 
ЗУП 3.0. Перерасчеты. Космос.
0 dimaldinho
 
18.10.16
16:33
Такая ситуация. Выплачивается премия за 2015 год. Все документы, использовавшие средний заработок за 2015, требуется исправить, т.к. средний изменился. Таких документов сотни, кстати, могли бы быть тысячи.

Что нас ожидает в ЗУП 3.0? Обработка Сервис - Перерасчеты, которая по кнопке Исправить открывает форму нового документа-исправления. По каждому документу!

Документов сотни, спасибо, что не тысячи.

Кто-нибудь сталкивался с задачей массового перерасчета документов?

Можно написать свою обработку с блекджеком и куртизанками, создающую документы-исправления. Но угадайте, где расположены процедуры расчета документов. Типа ДокументОбъект.Рассчитать()? Не-а. В форме! Форма.ПерезаполнитьНачисленияСотрудника() Которая существует на клиенте.

Кто-нибудь сталкивался с задачей массового перерасчета документов через документы-исправления?
1 DrShad
 
18.10.16
16:35
(0) вот на клиенте ничего и не считается
вызывается с клиента да, но не считается
так что копайте дальше
2 dimaldinho
 
18.10.16
16:38
я не писал, что считается на клиенте. я крайне желал бы, чтобы у ДокументОбъект был бы метод, позволяющий рассчитать все через одну строчку кода

ДокументОбъект.РассчитатьВсе()

Но этот метод сделали у формы

Форма.ПерезаполнитьНачисленияСотрудника()
3 dimaldinho
 
18.10.16
16:40
+ дальше эту несчастную форму таскают по общим модулям, периодически читая из нее что-нибудь через точку
4 DrShad
 
18.10.16
17:12
не верю
5 Мойдодыр
 
18.10.16
17:14
с формами вполен можно работать програмно.
Да криво, но можно
6 Adilgeriy
 
18.10.16
17:16
(0) почему менять средний? премия что в прошлым годом проводится? если да тогда перепроводи все документы из анализа неявок
7 Adilgeriy
 
18.10.16
17:17
или для всех документов создай программно документ исправлений текущим периодом и из анализ неявок все их пересчитай
8 dimaldinho
 
18.10.16
17:22
(5) На сервере создаем ДокОбъект, на сервере заполняем его, на клиенте получаем получаем его форму, вызываем метод формы по расчету документа, на сервере проводим документ. Это суперкриво, хоть и возможно.

(7) Хорошая попытка. Только это не ЗУП 2.5, а ЗУП 3.0. Тут нет Анализа неявок. Тут нет метода перерасчета документа. Тут есть метод формы для перерасчета документа.
9 dimaldinho
 
18.10.16
17:27
10 Adilgeriy
 
18.10.16
17:28
так премия какой датой идет?
11 dimaldinho
 
18.10.16
17:31
(10) В соответствии с законодательством премии по итогам года должны учитываться при расчете среднего заработка за период, включающий год, за который были начислены премии, независимо от времени их начисления. Следовательно, компании необходимо произвести перерасчет в отношении всех выплат, которые определялись исходя из среднего заработка за 2015 г. и были начислены с января 2016 г.
12 Adilgeriy
 
18.10.16
17:39
а вкладка расчет зарплаты сервис -> перерасчеты не работает?
13 DrShad
 
18.10.16
17:40
(9) ну форма и что? это еще не говорит что без нее нельзя обойтись
14 Мойдодыр
 
18.10.16
17:44
ТС прав. Код в ЗУП - это ужасссссс
15 dimaldinho
 
18.10.16
17:52
(13) Типа передавать в общий модуль конструкцию типа структуры под видом формы? Прокатит, если бы в общих модулях передаваемая форма бы использовалась только как источник свойств, но она также используется там как источник методов! Например:

        КонтролируемыеПоля = Форма.ПолучитьКонтролируемыеПоля();
16 dimaldinho
 
18.10.16
17:55
+ этот потенциальный огород несравним с

ДокументОбъект = СоздатьОбъект()
ДокументОБъект.Заполнить(ИсправляемыйДокумент, "Исправление");
ДокументОбъект.РассчитатьВсе()
ДокументОбъект.Записать(Проведение)
17 Мойдодыр
 
18.10.16
17:56
Нужно примерно так
Форма = ПолучитьФорму("ИмяФормы", ПараметрыКлюч);
Форма.Открыть();
Форма.Пересчитать();
Форма.Закрыть();
18 dimaldinho
 
18.10.16
17:59
(17) Да я это писал уже в (11). У вас не хватает того, что до вашего клиентского кода на сервере объект создать нужно, а после вашего клиентского кода на сервере объект провести нужно.
19 dimaldinho
 
18.10.16
17:59
т.е. в (8), а не в (11)
20 Мойдодыр
 
18.10.16
18:03
Напиши в 1С, и на форум партнерский
21 Adilgeriy
 
18.10.16
18:33
сколько человек в организации? сколько бухов на зарплате?
<a target="_blank" href="http://radikal.ru/big/ftrj5xeyirvou"><img src="http://s011.radikal.ru/i316/1610/6c/43e2140a9c6ft.jpg"; /></a>
отпускные попадают под перерасчет. больничный попадает в следующий год.
22 Adilgeriy
 
18.10.16
18:35
23 Adilgeriy
 
18.10.16
18:46
(21) туплю. а может макрос для мышки проще написать пускай всю ночь кликает
24 dimaldinho
 
19.10.16
08:58
Так-то можно и на ардуино механического робота собрать. Криво это только
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан