8.х Вопрос по курсу "Программирование за 21день", конкретно по з/п

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Ktyf, 21 фев 2014.

  1. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    Вопрос к людям проходившим этот курс, или разбирающимся в расчете з/п. Вот несколько фрагментов кода.
    Код добавляющий в регистрРасчета период прогула сотрудника
    Код:
    Процедура ОбработкаПроведения(Отказ, Режим)
    // регистр РегистрНачислений //записываем с какого по какой день были прогулы
    Движения.РегистрНачислений.Записывать = Истина;
    Для Каждого ТекСтрокаПрогульщики Из Прогульщики Цикл
            Движение = Движения.РегистрНачислений.Добавить();
            Движение.Сторно = Ложь;
            Движение.ВидРасчета = ПланыВидовРасчета.Начисления.Прогул;
            Движение.ПериодДействияНачало = ТекСтрокаПрогульщики.НачалоПрогула;
            Движение.ПериодДействияКонец = КонецДня(ТекСтрокаПрогульщики.КонецПрогула);
            Движение.ПериодРегистрации = Дата;
           Движение.Сотрудник = ТекСтрокаПрогульщики.Сотрудник;
    КонецЦикла;
    КонецПроцедуры
    
    Код начисления оклада за месяц
    Код:
    // регистр РегистрНачислений
        Движения.РегистрНачислений.Записывать = Истина;
        Для Каждого ТекСтрокаСотрудники Из Сотрудники Цикл
            Движение = Движения.РегистрНачислений.Добавить();
            Движение.Сторно = Ложь;
            Движение.ВидРасчета = ПланыВидовРасчета.Начисления.Оклад;
            Движение.ПериодДействияНачало = НачалоМесяца(Дата);
            Движение.ПериодДействияКонец = КонецМесяца(Дата);
            Движение.ПериодРегистрации = Дата;
            Движение.Сотрудник = ТекСтрокаСотрудники.Сотрудник;
            Движение.Данные = ТекСтрокаСотрудники.Оклад;
        КонецЦикла;
          
        Движения.Записать();
      
    //выбираю из регистраНачислений данные по отработанному времени.  
        Запрос = новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    РегистрНачисленийДанныеГрафика.Сотрудник,
        |    РегистрНачисленийДанныеГрафика.Данные,
        |    РегистрНачисленийДанныеГрафика.РабочийДеньПериодДействия КАК План,
        |    РегистрНачисленийДанныеГрафика.РабочийДеньФактическийПериодДействия КАК Факт
        |ИЗ
        |    РегистрРасчета.РегистрНачислений.ДанныеГрафика(Регистратор = &Регистратор) КАК РегистрНачисленийДанныеГрафика";
        Запрос.УстановитьПараметр("Регистратор",Ссылка);
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
    По идее поля выборки План и Факт должны различаться. Но у меня они по всем сотрудникам совпадают. В этом собственно и вопрос - что я пропустила. Поскольку это один из уроков "Прогр.. за 21день", то делаю уже почти полным копированием урока - и все равно не правильно
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Потому что такие курсы надо в топку, там ошибок море, другой вопрос, специально ли авторы курса эти ошибки допускают. То что укажем вам на ошибку - вы не поймете ее смысл. Программированию нельзя научиться за 3 недели, поверьте.
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    не факт что они будут различаться.У Вас прогулы по кому нит введены?
  4. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    ну если основываться только на них, то может и в топку. Но мне они очень в тему.

    а вы попробуйте ;)


    конечно введены
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    А вытиснения настроены?
  6. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    да, при вводе оклада на закладке указала, что прогул - вытесняет.
  7. maximilianno
    Offline

    maximilianno

    Регистрация:
    4 мар 2015
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    По идее поля выборки План и Факт должны различаться. Но у меня они по всем сотрудникам совпадают. В этом собственно и вопрос - что я пропустила?

    Вопрос к автору - ответ нашелся?
  8. maximilianno
    Offline

    maximilianno

    Регистрация:
    4 мар 2015
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Офигеть. Удалил в режиме предприятия прогул в списке вытесняющих у оклада и поставил заново, и все заработало. Полдня все перепроверял и переделывал, а решилось методом тыка.

Поделиться этой страницей