8.х Выборка документов

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

  1. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Есть документы "Сведения о плановых начислениях"
    Как выбрать документ по данному работнику потому что на одного работника их несколько
    и на последнюю дату
    1с ЗиУп версия конфиг 2.5.13.5
    Подскажите пожалуйста
    Спасибо
  2. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    примерно так
    Код:
               ВЫБРАТЬ ПЕРВЫЕ 1
    ВводСведенийОПлановыхУдержанияхРаботниковОрганизацийУдержания.Ссылка
    ИЗ
    Документ.ВводСведенийОПлановыхУдержанияхРаботниковОрганизаций.Удержания КАК ВводСведенийОПлановыхУдержанияхРаботниковОрганизацийУдержания
    ГДЕ
    ВводСведенийОПлановыхУдержанияхРаботниковОрганизацийУдержания.ФизЛицо = &ФизЛицо
    
    УПОРЯДОЧИТЬ ПО
    ВводСведенийОПлановыхУдержанияхРаботниковОрганизацийУдержания.Ссылка.Дата УБЫВ
    
  3. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    ну и отбор по организации если нужно :)
  4. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Как я поняла это запрос но у меня вот какая ситуация я не совем точно поставила задачу
    У меня есть модуль объекта мне надо вставить кусочек кода чтобы найти документ по каждому работнику а их несколько сот на последнюю дату а документы сделаны так на каждого работника отдельный документ затем получить объект и изменить реквизит
    Благодарю Вас
  5. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    ну тогда список работников выгрузить как массив, а запрос примерно такой:

    Код:
    ВЫБРАТЬ
    ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Регистратор
    ИЗ
    РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций.СрезПоследних(
    ,
    ФизЛицо В (&Физлицо)
    И Регистратор ССЫЛКА Документ.ВводСведенийОПлановыхУдержанияхРаботниковОрганизаций) КАК ПлановыеУдержанияРаботниковОрганизацийСрезПоследних
    
    СГРУППИРОВАТЬ ПО
    ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Регистратор
    
    где физлицо массив физлиц

    Добавлено: чето я сразу забыл сделать: чтобы не было повторяющихся доков сгруппировать их...
  6. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    хотя хз как поведет себя отбор по типу документа :) мне даже тестить не на чем :) 3 человека и у всех только один документ введен :)
  7. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    А нельзя ли обойтись без регистра сведений а выборку делать из этой группы документов
    Существует ли другой подход
    Спасибо
  8. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    без регистра можно, только вот ГОРАЗДО быстрее (в некоторых случаях на несколько порядков) выборка через регистр работает. Другое дело, что иногда задача стоит так, что приходится выбирать из документов напрямую нужные реквизиты, либо когда получение данных из регистров не целесообразно по причине того же времени выполнения такой операции (например когда для одного документа нужно вытянуть данные или сложным соединением собирать их из 7-8 регистров :) )...

    Кстати на экзаменах Спец1С часто снижают баллы из-за неправильного применения регистров или из-за использования в выборке документов, но опять же все зависит от задачи.

    К тому же периодический регистр сведений дает возможность получить срез данных, т.е. освобождает Вас от необходимости выбирать последние документы с помощью различных ухищрений....

    А вообще регистры для того и сделаны, чтобы не в документах ковыряться, а из них нужные данные подтягивать :)

    П.С. ввел несколько документов у ся в тестовой базе. Запрос нормально отработал...
  9. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Можно ли вытащить все последние документы " Плановые сведения"
    по всем работникам на которые созданы эти документы без массива физлиц
    Спасибо
  10. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Эток код неверный хотелось передать мысль
    Подскажите пожалуйста где неверно
    Спасибо
  11. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    мысль в этом коде отстствует, т.к. документ ВводСведенийОПлановыхНачисленияхРаботниковОрганизаций не является регистратором регистра ПлановыеНачисленияРаботников, а является регистратором регистра ПлановыеНачисленияРаботниковОрганизаций... По крайней мере в типовой...

    к тому же нет смысла выбирать документ и потом к нему коннектить записи регистра, когда можно из тех же записей регистра сразу взять ссылку.

    смотри сообщение 5... Чтобы по всем работникам сотри в этом коде строку: "ФизЛицо В (&Физлицо) И"

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