Имя: Пароль:
1C
1С v8
ZUP Данные оперативного учета \ Внесение данных
0 CyberDog
 
05.07.17
10:27
SUP.

Я зае, ой не туда.

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

Сделал свой простенький документ, с движением по регистру ДанныеОперативногоУчетаРабочегоВремениСотрудников, в итоге все нормально ложится в табель, но если в новом документе на новую дату нет сотрудников из прошлых периодов то он просто ничего не ставит в табель при заполнении, что это за фича такая?

Код модуля объекта для проведения:

Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    // регистр ДанныеОперативногоУчетаРабочегоВремениСотрудников
    
    
    Движения.ДанныеОперативногоУчетаРабочегоВремениСотрудников.Записывать = Истина;
    Для Каждого ТекСтрокаРаботаВВыходныеДни Из РаботаВВыходныеДни Цикл
        Движение = Движения.ДанныеОперативногоУчетаРабочегоВремениСотрудников.Добавить();
        Движение.Период = Дата;
        Движение.Сотрудник = ТекСтрокаРаботаВВыходныеДни.Сотрудник;
        Движение.ПериодРегистрации = НачалоМесяца(Дата);
        Движение.ВидУчетаВремени =  Справочники.ВидыИспользованияРабочегоВремени.Праздники;
        Движение.ВидДанных =Перечисления.ВидыДанныхУчетаВремениСотрудников.ДанныеОперативногоУчета;    
        Движение.Дни = 1;
        Движение.Часы = ТекСтрокаРаботаВВыходныеДни.День-ТекСтрокаРаботаВВыходныеДни.Ночь;
    КонецЦикла;

    // регистр ДанныеОперативногоУчетаРабочегоВремениСотрудников
    Движения.ДанныеОперативногоУчетаРабочегоВремениСотрудников.Записывать = Истина;
    Для Каждого ТекСтрокаРаботаВВыходныеДни Из РаботаВВыходныеДни Цикл
        Движение = Движения.ДанныеОперативногоУчетаРабочегоВремениСотрудников.Добавить();
        Движение.Период = Дата;
        Движение.Сотрудник = ТекСтрокаРаботаВВыходныеДни.Сотрудник;
        Движение.ПериодРегистрации = НачалоМесяца(Дата);
        Движение.ВидУчетаВремени = Справочники.ВидыИспользованияРабочегоВремени.НайтиПоНаименованию("Ночные часы праздничные");
        Движение.ВидДанных  = Перечисления.ВидыДанныхУчетаВремениСотрудников.ДанныеОперативногоУчета;    
        Движение.Дни = 1;
        Движение.Часы = ТекСтрокаРаботаВВыходныеДни.Ночь;
    КонецЦикла;
    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
1 Ёпрст
 
05.07.17
10:30
(0) зачем 2 раза цикл ?
2 CyberDog
 
05.07.17
12:09
(1) Конструктором собирал, исправил.
Все ровно тоже самое
3 Alexandr_U1982
 
05.07.17
12:20
"Справочники.ВидыИспользованияРабочегоВремени.НайтиПоНаименованию("Ночные часы праздничные")"

Вот это вообще шедевр )))
4 CyberDog
 
05.07.17
12:21
(3) Данное название рабочего времени было до меня, не мне его менять )
5 Alexandr_U1982
 
05.07.17
12:24
"но если в новом документе на новую дату нет сотрудников из прошлых периодов то он просто ничего не ставит в табель при заполнении, что это за фича такая?"

Вообще непонятен смысл вопроса.
Новый документ - какой? Табель или твой документ?
Новая дата? - это вообще, что такое?
Что за прошлые периоды?
Вопрос в целом про твой документ или про табель?
6 CyberDog
 
05.07.17
12:29
(5) Давай попробую рассказать,
Создан документ "Работа в выходные и праздники в ночь", его задача в том чтобы в табель ложились ночные и дневные праздничные часы.

Далее ввожу данные в данный документ для пары Иванова,  Сидорова, Петрова на 01.01.17
Завожу так-же документ на 02,03,04 и т.д.

В табеле при заполнении все ложится корректно, завожу на 05 число этот же документ с уже Степановым, снова заполняю табель, и все прошлые отметки пропадают, Степанов остается.

Если вместе со степановым я укажу Иванова то табель Иванова станет вновь нормальным.
7 Alexandr_U1982
 
05.07.17
12:33
И вообще зачем городить новый документ?
Можно просто настроить "Шаблон ввода исходных данных" (Настройки\Шаблоны ввода исходных данных) для вида времени "Ночные часы праздничные".
И вместо твоего нового документа можно будет делать документ "Данные для расчета зарплаты".
И все будет считаться и приходить в табель.
8 CyberDog
 
05.07.17
12:39
(7) Загвоздка была в том что нужно выводить приказ на печать
9 CyberDog
 
05.07.17
12:44
(7) Все же, ларчик просто открывался, моего уровня конфигурирования еще недостаточно для проводки по чужим конфигурациям, по пути меньшего сопротивления выбрал ваш вариант
10 Джо-джо
 
05.07.17
12:45
(7) Затем, что могут быть не только ночные.
11 Alexandr_U1982
 
05.07.17
12:48
(10) Что мешает настроить щаблон для нескольких видов времени?
12 CyberDog
 
05.07.17
12:49
(11) Сделал, вчера установил обновление и заметил что есть кнопка хорошая - Печатные формы в настройках шаблона
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший