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

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

  1. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Добрый день!
    Как в непериодический регистр сведений добавить данные по определенному сотруднику с помощью внешней обработки?
    Прошу помочь!
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
  3. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Через набор записей

    Вот пример посмотрите из СП

    Код:
    Запрос = Новый Запрос;
    Запрос.Текст ="<текст запроса>";
    НаборЗаписей = РегистрыСведений.РаботникиОрганизаций.СоздатьНаборЗаписей();
    ВыборкаПоРегистратору = Запрос.Выполнить().Выбрать();
    Пока ВыборкаПоРегистратору.СледующийПоЗначениюПоля("Регистратор") Цикл
        НаборЗаписей.Отбор.Регистратор.Установить(ВыборкаПоРегистратору.Регистратор);
        Пока ВыборкаПоРегистратору.Следующий() Цикл
            ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(), ВыборкаПоРегистратору);
        КонецЦикла;
        НаборЗаписей.Записать(); // после записи набор записей остается заполненным
        НаборЗаписей.Очистить();
    КонецЦикла;
    
  4. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Ребята я пробовала и через отбор и в циклы загоняла, но не как не получается при обновлении регистра получить данные.
    Вот что я намудрила:

    Код:
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ВыбранныйТабель", ВыбранныйТабель);
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОтработанноеВремяВЦеломЗаПериод.Сотрудник КАК Сотрудник,
    | ОтработанноеВремяВЦеломЗаПериод.Дней1,
    | ОтработанноеВремяВЦеломЗаПериод.Часов1
    |ИЗ
    | Документ.ТабельУчетаРабочегоВремениОрганизации.ОтработанноеВремяВЦеломЗаПериод КАК ОтработанноеВремяВЦеломЗаПериод
    |ГДЕ
    | ОтработанноеВремяВЦеломЗаПериод.Ссылка = &ВыбранныйТабель
    |
    |УПОРЯДОЧИТЬ ПО
    | Сотрудник";
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ТаблЧасть = РегистрыСведений.ЗначенияПоказателейСхемМотивации.СоздатьНаборЗаписей();
    ТаблЧасть.Отбор.Сотрудник.Установить(ВыборкаДетальныеЗаписи.Сотрудник);
    ТаблЧасть.Отбор.Сотрудник.Использование = Истина;
    Отработано = ТаблЧасть.Добавить();
    Отработано.Сотрудник = ВыборкаДетальныеЗаписи.Сотрудник;
    Если Отработано.Показатель = "Отработано часов" Тогда
    Отработано.Значение = ВыборкаДетальныеЗаписи.Часов1;
    ИначеЕсли Отработано.Показатель = "Отработано дней" Тогда
    Отработано.Значение = ВыборкаДетальныеЗаписи.Дней1;
    ТаблЧасть.Записать();
    
    КонецЕсли;
    Последнее редактирование модератором: 13 апр 2015
  5. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Вы после того как отбор утановили попробуйте данные прочитать
    Код:
    ТаблЧасть = РегистрыСведений.ЗначенияПоказателейСхемМотивации.СоздатьНаборЗаписей();
    ТаблЧасть.Отбор.Сотрудник.Установить(ВыборкаДетальныеЗаписи.Сотрудник);
    ТаблЧасть.Отбор.Сотрудник.Использование = Истина;
    ТаблЧасть.Прочитать();
  6. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Все равно не добавляет...
    Скажите как правильно организовать добавление данных в регистр сведений?
    Я пробую при обновлении запихнуть новые данные но все безуспешно.
  7. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Подчиненный регистр имеет набор записей, и работать с набором нужно как с единым целым.
    Вам необходимо сперва прочитать ВЕСЬ набор записей регистратора из регистра, найти в нем необходимые строки для изменения, изменить их, и записать набор после редактирования всех строк набора.
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    что значит "при обновлении"...
    И Вообще у данного РС 5 измерений - кто остальные 4 будет заполнять?
    Или вы думаете он даст записать без них?
  9. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Дело в том что регистр заполняется автоматически после выбора периода, я не пойму как правильно в данном случае добавить данные....

    upload_2015-4-13_15-58-57.png
  10. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Я же говорю смысл в том что Создали отобрали - прочитали - добавили - записали.
    Но скорее всего не записывает т.к не все поля заполнены. у Вас все это делаетс я в транзакции или в исключении. ошибки какие нить выдает. если в исключении или транзакции добавьте
    Сообщить(ОписаниеОшибки());
  11. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Спасибо за советы!
    Скажи а обязательно прописывать все измерения?
    Ошибки не выдает.
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну надо смотреть. Простоне прописываешь ты подразделение- т.е данный показатель будет применяться для всех подразделений (я же не знаю так не так). период не проставляешь - т.е с какого периода данный показатель схемы дейсвует и т.д
  13. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Спасибо большое все получилось!
  14. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    так, а в чем проблема была - напишите, что бы другие читая - знали
  15. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Измерения регистра сведений имеют "запрет незаполненных значений" в связи с чем данные в него не могли записаться.
    alexburn нравится это.
  16. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну я о чем и писал одного из 5 ти измерений заполнять - недостаточно
    GAMI1991 нравится это.
  17. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

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

    upload_2015-4-16_10-27-53.png
  18. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну я так понимаю надо просто выполнить запрос и на этот список что у Вас поставить отбор по результату данного запроса
  19. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Если этот список располагается во внешней обработке , я не пойму как к нему сделать запрос...?
  20. Draco
    Offline

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

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

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