[РЕШЕНО] Добавление данных в регистр сведений из внешней обработки

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

  1. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Список выбора расположен во внешней обработке, в нем хранятся данные которыми заполняется регистр сведений. Мне поставили задачу: при выборе определенного "Табеля учета" очищать и перезаполнять регистр сведений теми данными которые хранятся в конкретном табеле учета.
  2. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Все разобралась, нужно было сделать запрос к регистру сведений который перед выполнением обработки зачищал всю табличную часть:
    "Запрос ....
    ....";
    РезультатЗапроса = Запрос.Выполнить();
    ТаблицаРезультатаЗапроса = РезультатЗапроса.Выгрузить();

    Для каждого СтрокаТаблицы Из ТаблицаРезультатаЗапроса Цикл
    Запись = РегистрыСведений.ЗначенияПоказателейСхемМотивации.СоздатьМенеджерЗаписи();
    ЗаполнитьЗначенияСвойств(Запись, СтрокаТаблицы);
    Запись.Удалить();
    КонецЦикла;

    Спасибо!
  3. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    ну так а в чем проблема? У Вас появился список значений которыми надо заполнить так?
    Вы берете таблеь -делате по нему отбор из набора записей РС, читаете его - очищаете. затем в цикле проходитесь по вашему списку и добавляете записи и записываете
    --- Объединение сообщений, 16 апр 2015 ---
    Можно было проссто отбор по регистратору
    Прочитать()
    Очистить()
  4. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Я делала при помощи СоздатьМенеджерЗаписи() а не через СоздатьНаборЗаписи().
    Поэтому я так и сделала.
  5. ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Сделала свой кадровый документ
    Прием на работу_ -
    Код:
        //Прием
        НаборРаботников = РегистрыСведений.РаботникиОрганизаций.СоздатьНаборЗаписей();
        НаборРаботников.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);
        Набор = НаборРаботников.Добавить();
        Если Не ЗначениеЗаполнено(Организация.ГоловнаяОрганизация) Тогда
            Набор.ОбособленноеПодразделение = Организация;
            Набор.Организация = Организация;
        Иначе
            Набор.ОбособленноеПодразделение = Организация;
            Набор.Организация = Организация.ГоловнаяОрганизация;
        КонецЕсли;
        Набор.Должность = КатегорияПерсонала;
        Набор.ПодразделениеОрганизации = ПодразделениеОрганизации;
        Набор.Период = ДатаНачала;
        Набор.ПричинаИзмененияСостояния = Перечисления.ПричиныИзмененияСостояния.ПриемНаРаботу;
        Набор.Сотрудник= Сотрудник;
        НаборРаботников.Записать(Ложь);
    
    и Увольнение_
    Код:
    //Увольнение
        НаборРаботников = РегистрыСведений.РаботникиОрганизаций.СоздатьНаборЗаписей();
        НаборРаботников.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);
        Набор = НаборРаботников.Добавить();
        Набор.Должность = КатегорияПерсонала;
        Набор.ПодразделениеОрганизации = ПодразделениеОрганизации;
        Если Не ЗначениеЗаполнено(Организация.ГоловнаяОрганизация) Тогда
            Набор.ОбособленноеПодразделение = Организация;
            Набор.Организация = Организация;
        Иначе
            Набор.ОбособленноеПодразделение = Организация;
            Набор.Организация = Организация.ГоловнаяОрганизация;
        КонецЕсли;
        Набор.Период = ДатаОкончания;
        Набор.ПериодЗавершения = ДатаОкончания;
        Набор.ПричинаИзмененияСостояния = Перечисления.ПричиныИзмененияСостояния.Увольнение;
        Набор.ПричинаИзмененияСостоянияЗавершения = Перечисления.ПричиныИзмененияСостояния.Увольнение;
        Набор.Сотрудник = Сотрудник;
        НаборРаботников.Записать(Ложь);
    Не пишет период. Работающий сотрудник был повторно принят на совместительство, по моему документу прошел дополнительный прием на работу. И сотрудник начал числиться уволенным.
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    не совсем понял вопрос
  7. ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Вот в картинке. т.е. не нишет в регистр даты "приема" и "увольнения".
    Задача - чтобы договорники были с категорией статистического учета.

    Вложения:

    • Движ.jpg
      Движ.jpg
      Размер файла:
      95 КБ
      Просмотров:
      5
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Ну У Вас же дата пирема и увольнения - это даты записей (период.) Откройте сам регистр и посмотрите.
    Вы же пишите
    Набор.Период = ДатаНачала;

    Он вам на этот период и делает запись. В отчете по движениям период не выводится
  9. ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Вы не поняли. Проблема в другом, сотрудницу которая уже работает, приняли на ГПХ - сделали регистр на "прием" и "увольнение". и она "потерялась" для всех отчетов.
  10. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    А можно по этому физ лицу посмотреть какие записи в РС Работники организаций
  11. ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Вот. Отбор по сотруднику в списке: Наталья - сотрудник, что работала 2014 год. Наталья 2015 - принята с 01.01.2015, Наталья (дог.подряда) с 01.02.2016 по 29.04.2016.

    Вложения:

    • Медс.jpg
      Медс.jpg
      Размер файла:
      125,4 КБ
      Просмотров:
      4
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    я же правильно понимаю, что в первом и во втором случаях в справочнике Сотрудники - жэто два разных сотрудника.
    А это скрин какого регистра?
  13. ЕкатеринаНик
    Offline

    ЕкатеринаНик Опытный в 1С

    Регистрация:
    8 ноя 2010
    Сообщения:
    698
    Симпатии:
    1
    Баллы:
    29
    Регистр - кадровая история сотрудников по юрлицам (РегистрыСведений.РаботникиОрганизаций). Два разных сотрудника - один принятый постоянно, второй на ГПХ - месяц.
    Драко,
    пожалуйста, подскажите, как можно сделать,
    чтобы Договоры ГПХ были с категорией статистического учета - реквизит спр.Должности.
  14. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Ну просто вы сейчас сделаете что бы у Ва с все заработало, просто потом везде же все поедет все заполнения все отчеты, та же списочная численност и т.д.

    Не проще ли у документа Договорана выполенеи работ завести свойство и там указывать класс.

    и уже исходя из этого дописывать нужные отчеты и подтягивать

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