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

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем W@rt, 27 мар 2013.

  1. TopicStarter Overlay
    W@rt
    Offline

    W@rt Опытный в 1С

    Регистрация:
    22 сен 2008
    Сообщения:
    236
    Симпатии:
    0
    Баллы:
    26
    День добрый. Подскажите как быстро записать регистр сведений набором. Если регистр состоит из трех колонок сотрудник,поле и значение. А запрос содержит колонки которые нужно записать в одну колонку "значение". А в колонку "Поле" - значение перечисления. Получается на одного сотрудника несколько строк в регистре.
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    примерно так:
    Код:
    НаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Сотрудник.Значение = Сотрудник;
    НаблоЗаписей.Отбор.Сотрудник.Использование = Истина;
    // дальше цикл, обходящий результат запроса, в нем
    Запись = НаборЗаписей.Добавить();
    Запись.Сотрудник = Сотрудник;
    Запись.Поле = Поле;
    Запись.Значение = Значение;
    // а это после цикла
    НаборЗаписей.Записать();
  3. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    что из этих 3 является измерениями, что ресурсами?, если только Сотрудник в измерениях, то не получится создать несколько строк
  4. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    почему это?! если регистр периодический(до секунды), то всё удасться....
  5. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Было написанно:Если регистр состоит из трех колонок сотрудник,поле и значение

    Если бы был периодический, то было бы четыри колонки еще и период. Пользователь пишет о колонках, а не полях. Колонки он может видеть только в форме списка.
  6. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    Так то да, нам остается только гадать какая структура регистра у ТС.
    Я написал исходя из этого - "Получается на одного сотрудника несколько строк в регистре."
    хотя м.б. у него и 2 измерения... сотрудник и поле...
  7. TopicStarter Overlay
    W@rt
    Offline

    W@rt Опытный в 1С

    Регистрация:
    22 сен 2008
    Сообщения:
    236
    Симпатии:
    0
    Баллы:
    26
    Измерения три,записать понятно как. Только вопрос в том как мне одну строку запроса(в которой несколько колонок - Фамилия,Имя и т.д) записать в несколько строк набора записей. Одна колонка это отдельная строка регистра.

    То есть примерно так:
    Сотрудник Поле Значение
    Иванов В.А. Значение(Перечисления.ИмяПеречисление.Поле) Фамилия(из запроса - значение этой колонки)


    Запрос
    Сотрудник Фамилия Имя Отчество
    Иванов Петр Алексеевич Иванов Петр Алексеевич
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    НЕ совсем понятно. можно беолее детальный пример.
    И что то по фразе Фамилия(из запроса - значение этой колонки)
    У меня есть подозрения что у вас запрос в цикле или как что вы целую колонку выгружать собираеетсь на несколько записей, а не на все
  9. TopicStarter Overlay
    W@rt
    Offline

    W@rt Опытный в 1С

    Регистрация:
    22 сен 2008
    Сообщения:
    236
    Симпатии:
    0
    Баллы:
    26
    Прилагаю скрины

    Вложения:

  10. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    еще бы структуру регистра выложили

    а зачем такие извороты, если не секрет?
  11. TopicStarter Overlay
    W@rt
    Offline

    W@rt Опытный в 1С

    Регистрация:
    22 сен 2008
    Сообщения:
    236
    Симпатии:
    0
    Баллы:
    26

    Для получения измененных адресов, телефонов и т.д.

    Вложения:

  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    А не проще запрос седалть так что бы получиась инфа как вы привели скрин Регистр, что бы ФИО ваше сру подтягивалось и в итоге запроса было три строчки? Связывать по Сотруднику и по Перечислениям Вашим?
  13. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    значит всё-таки не 3 а 4ре колонки, пусть не период, но дата то есть....
  14. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а только измерения Сотрудник для этого не хватает? Зачем по 3 строки на каждого?



    Код:
    //тут ваш запрос....
    Выборка = запрос.Выполнить().Выбрать();
    пока Выборка.Следующий() цикл
    НаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Сотрудник.Значение = Сотрудник;
    НаборЗаписей.Отбор.Сотрудник.Использование = Истина;
    
    НаборЗаписей.Прочитать(); //вот тут честно сомнения - надо ли
    
    Запись = НаборЗаписей.Добавить();
    Запись.Сотрудник = Сотрудник;
    Запись.Поле = тутФамилия; //свое поставьте
    Запись.Значение = Выборка.Фамилия;
    
    Запись = НаборЗаписей.Добавить();
    Запись.Сотрудник = Сотрудник;
    Запись.Поле = тутОтчетство; //свое поставьте
    Запись.Значение = Выборка.Отчество;
    
    Запись = НаборЗаписей.Добавить();
    Запись.Сотрудник = Сотрудник;
    Запись.Поле = тутИмя; //свое поставьте
    Запись.Значение = Выборка.Имя;
    
    НаборЗаписей.Записать();
    ну или можно выгрузить запрос в ТЗ и сделать 2 вложенных цикла 1 - по строкам, а внутри по колонкам...
Похожие темы
  1. solnce
    Ответов:
    10
    Просмотров:
    930
Загрузка...

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