Проблема с кодом в ЗиК!

1. sail 27.07.07 12:21 Сейчас в теме
Суть в чем... нужно проставить всех сотрудников на форму оплаты труда "повременно-пермиальная по тарифу согласно табеля по часам" , но кроме
некоторых должностей... написал обрабтку , но пишет ошибку "Не выбран документ!" , не могу понять в чем проблема!вот код:
//*******************************************
Процедура Сформировать()

Док = СоздатьОбъект("Документ.ПриказОПриемеНаРаботу");
Док.ВыбратьДокументы(НачДата,КонДата);
Пока Док.ПолучитьДокумент()=1 Цикл
Если (Док.Должность="Генеральный директор") или
(Док.Должность="заместитель директора по административной работе") или
(Док.Должность="заместитель директора по внутреннему контролю")или
(Док.Должность="заместитель директора по производству")или
(Док.Должность="заместитель директора по торговле")или
(Док.Должность="заместитель руководителя службы персонала")или
(Док.Должность="заместитель технического директора по торговому и производственному оборудованию")или
(Док.Должность="заместитель технического директора по торговому и производственному оборудованию")или
(Док.Должность="заместитель технического директора по холодильному оборудованию")или
(Док.Должность="заведующий хозяйством")или
(Док.Должность="заведующий секцией")или
(Док.Должность="начальник отдела кадров")или
(Док.Должность="специалист по кадрам")или
(Док.Должность="кладовщик")или
(Док.Должность="заведующий пищевым производством")или
(Док.Должность="агент по снабжению")или
(Док.Должность="товаровед-приемщик") Тогда
Продолжить;
КонецЕсли;
Если Док.ПометкаУдаления()=1 Тогда
Продолжить;
КонецЕсли;

Если Док.ФормаТруда=Перечисление.ФормыТруда.ТабельПочасОклад Тогда
НоваяФормаТруда=Перечисление.ФормыТруда.ТабельПочасТариф;
Сообщить(Док.ФормаТруда);
Сообщить(НоваяФормаТруда);
КонецЕсли;
КонецЦикла;
Сообщить(Док);
Док.Записать();
Док.Провести();

КонецПроцедуры
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sevenlis 69 27.07.07 13:42 Сейчас в теме
У тебя Док.Записать(); и Док.Провести(); находятся вне цикла. Надо так:
Код
          .....
          Сообщить(Док); 
          Док.Записать(); 
          Док.Провести(); 
     КонецЦикла; 
КонецПроцедуры
Показать полностью
3. ycatuk 27.07.07 20:58 Сейчас в теме
угу еще укажи в самом начале
//
начатьтранзакцию()
...
//
ЗафиксироватьТранзакцию()

И будет тебе быстрое счастье :)
4. poppy 28.07.07 13:43 Сейчас в теме
Перед Док.Записать() не забудь написать Док.ФормаТруда = НоваяФормаТруда;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот