8.х Запрос к регитру сведений

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем kible, 14 апр 2010.

  1. TopicStarter Overlay
    kible
    Offline

    kible Опытный в 1С

    Регистрация:
    14 апр 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Столкнулся с такой проблемой. Некоторые сотрудники работают на полставки. Бухгалтер попросил сделать при начислении зарплаты оклад поделить на ставку сотрудника. Я дописал. При приеме на работу устанавливается ставка и записывается в регистор сведений ПлановыеНачисленияРаботниковОрганизаций теперь в документе НачислениеЗарплатыРаботникамОрганизаций дописал запрос
    ЗапросСтавка = новый запрос;
    ЗапросСтавка.Текст="ВЫБРАТЬ
    | ПлановыеНачисленияРаботниковОрганизаций.Ставка
    |ИЗ
    | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
    |ГДЕ
    | ПлановыеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
    | И ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение = &ВидРасчетаИзмерение";
    ЗапросСтавка.УстановитьПараметр("ФизЛицо",ИсходныеДанные.ФизЛицо);
    ЗапросСтавка.УстановитьПараметр("ВидРасчетаИзмерение",ИсходныеДанные.ВидРасчета);
    //Запрос.УстановитьПараметр("Приказ",ИсходныеДанные.Приказ);

    ВыборкаСтавка=ЗапросСаня.Выполнить().Выбрать();
    Ст=0;
    Если ВыборкаСтавка.Количество()=0 Тогда
    Сообщить("Для сотрудника "+ИсходныеДанные.ФизЛицо.Наименование+" не найден ставка!");
    Иначе
    ВыборкаСтавка.Следующий();
    Ст=ВыборкаСтавка.Ставка;
    КонецЕсли;
    Ст=ВыборкаСтавка.Ставка; = 0
    Хотя в регистре записи есть.
    Подскажите как сделать.
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Конфигурация какая? если не БП, то писать ничего не надо все настраивается через графики работы.

    А по поводу запроса то регистр сведий на то он и регистр сведений что хранит историю а у вас не срез последний и соответсвенно он выбирает все записи с окладом.
    Во вторых если уже и что то вносить то не в конфигурацию, а спокойно можно написать внешнююю обработку ТЧ основные начислени документа.

    И еще раз повторюсь ничего писать не надо все далется с помошью настройки графика. Вы у графика совместителей устанавливает что норма расчитывается по полному графику и все
    Посмотреть вложение 3910

    Вложения:

    • Graf.JPG
      Graf.JPG
      Размер файла:
      38,8 КБ
      Просмотров:
      23
  3. TopicStarter Overlay
    kible
    Offline

    kible Опытный в 1С

    Регистрация:
    14 апр 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Конфигурация БП
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Хорошо.
    Тогда с запросом. Во первых берите Регистр сведений срез последних. Что бы была одна запись. Во вторых у Вас вверху

    ЗапросСтавка = новый запрос;


    а потом

    ВыборкаСтавка=ЗапросСаня.Выполнить().Выбрать();

    ЗапросСаня это что?
  5. TopicStarter Overlay
    kible
    Offline

    kible Опытный в 1С

    Регистрация:
    14 апр 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Моя ошибка. Я запрос сделал сразу в Документ Прием на работу все работает.
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну в приеме на работу не совсем правильно. Объясню почему. В штатном расписании организации написанно следующее должность бухгалтера 3 ставки оклад 10 000. Т.е. когда вы принимаете человека и оформляете трудовой договор по штатному рассписанию то там должно быть оклад 10 000 и ставка 0,5. Например в ЗУПе если стоит галочка контроль штатного расписания то он ругается если вы сделаете оклад 5000 т.к по штатке 10 000. И если аудитор ил кто нить друго йоткроет приказ и посмотрит то скажет что не правильно.

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