Имя: Пароль:
1C
1C 7.7
v7: Красиво ли фиксировать запись при проведении дока? Или как тут лучше сделать?
0 e-9
 
16.10.14
13:07
..."некрасивый самолёт летать не может" (с) Туполев А.Н...
Опять про кадровые перемещения.
Модуль вида расчета ПовременнаяОплата красив своей простотой - если у чела на ОСНОВНОЙ должности форма труда повременная, то тариф умножаем на часы; если на окладе - еще делим на всего часов в месяце (вместо тарифа оклад, есессно).
На период каждого кадрового перемещения может быть ДРУГОЙ тариф/оклад - поэтому вышеописанная процедура уже не годится; кроме того, Результат должен быть тупо 0, если на временной должности была сдельная оплата (однако Часы и за этот период вписываем - для стажа и пр.).
Чтобы учесть все эти перемещения (которых у нас могут быть десяток-другой за месяц - да-да!) при расчете Результата за повременку, портить модуль ВР не хочу и выношу всю бодягу в модуль проведения табеля. Там создаю несколько записей с видом расчета ПовременнаяОплата, сразу посчитав Результат. А модуле ВР эти записи, понятно, уже рассчитывать не надо.
Первое, что приходит в голову такому новичку в 1С, как я - ФиксироватьЗапись() сразу после ВвестиРасчет(), в модуле документа.
Корректно ли это, нет ли тут граблей?
Наверно, тривиальный вопрос, но хочется услышать гур...
1 e-9
 
16.10.14
13:35
(сорри, дурацкая привычка - детально описывать нюансы проблемы)
суть вопроса: если в процедуре проведения документа ВвестиРасчет(), и сразу после этого ФиксироватьЗапись() - это путь жизни, или путь смерти?...
2 varelchik
 
16.10.14
13:39
а вообще долампочки
модуль проведения в транзакции идет.
3 silent person
 
16.10.14
13:48
(1) ИМХО, это нормальный путь чтобы не переписывать модуль вида расчета и потом не иметь проблем с его обновлениями. Я так же делал когда расчет сдельных нарядов переделывали под себя. У меня там вообще Виды расчета были привязаны в видам работ, тоже рассчитывались в документе и сразу фиксировались.
4 e-9
 
22.10.14
15:32
ээ...пытаюсь сразу после ВвестиРасчет сделать ФиксироватьЗапись - обламываюсь "Запись заблокирована!"
Че не так делаю?
(Мне надо, в модуле дока, ввести готовый результат в журнал Зарплата, без вызова модуля расчета - и чтобы никак не пересчитывался потом...)
5 e-9
 
22.10.14
15:56
"как много нам открытий чудных..."
интересно, с какой целью сделано так, что Записать() вызывает на исполнение ОбработкаПроведения()
???????............
(У меня перед Провести() шло Записать() - это я так, интуитивно сделал, еще только приступив к 1С:Чудо - вот поэтому дважды одна запись пыталась записаться и зафиксироваться, потому и ругань)
6 e-9
 
22.10.14
16:09
...а хренушки((((( все равно ругается, не дает ФиксироватьЗапись
хнык-хнык
7 Aleksey
 
22.10.14
16:11
(5) ПриЗаписиПерепроводить() ?
8 e-9
 
22.10.14
16:33
(7) ффффвтопку мой воспаленный бред последних постов - я уже сам не пойму, сколько раз отрабатывает ОбработкаПроведения. Сейчас, когда спецом отслеживаю, вроде 1 - но до этого в отладчике показалось, что 2.
В общем, сейчас беда в том, что не могу сделать ФиксироватьЗапись сразу после ВвестиРасчет (((((((((
9 e-9
 
22.10.14
17:00
(...в общем, пока поставил точку костылем: при проведении дока вместо фиксации устанавливаю "ДокументомЛи" в 1 - а в модуле ВР.Повременка делаю Возврат, если ДокументомЛи=1...)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший