1. 1C / Говнокод #1876

    −92.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	СостояниеРаботниковОрганизаций.Регистратор,
    |	СостояниеРаботниковОрганизаций.ФизЛицо,
    |	СостояниеРаботниковОрганизаций.Организация,
    |	СостояниеРаботниковОрганизаций.Приказ,
    |	СостояниеРаботниковОрганизаций.Состояние,
    |	СостояниеРаботниковОрганизаций.Период
    |ИЗ
    |	(ВЫБРАТЬ
    |		СостояниеРаботниковОрганизаций.Регистратор КАК ДокументРегистратор
    |	ИЗ
    |		РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
    |	ГДЕ
    |		СостояниеРаботниковОрганизаций.Период МЕЖДУ &ДатаНачала И &ДатаКонца
    |		И СостояниеРаботниковОрганизаций.Организация = &Организация
    |		И СостояниеРаботниковОрганизаций.ФизЛицо = &ФизЛицо
    |		И СостояниеРаботниковОрганизаций.Приказ = &Приказ) КАК ДокРегистратор
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
    |		ПО ДокРегистратор.ДокументРегистратор = СостояниеРаботниковОрганизаций.Регистратор";
    .

    Просто выбрать движения из регистра - это не круто.

    Запостил: Kopchuga, 21 Сентября 2009

    Комментарии (5) RSS

    • Это называется дооптимизировался :-)
      Ответить
    • А вам обоим не пришло в голову, что документ, меняющий состояние конкретного работника по конкретному приказу, ещё дох..я чего другого делает?
      Вложенный запрос выбирает скорее всего одну-единственную запись о конкретном работнике, и находит, в каком документе это случилось. А внешний - выводит ВЕСЬ этот документ.

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

        вложенный запрос нах.. не нужен

        Запрос.Текст = 
        "ВЫБРАТЬ
        |	СостояниеРаботниковОрганизаций.Регистратор,
        |	СостояниеРаботниковОрганизаций.ФизЛицо,
        |	СостояниеРаботниковОрганизаций.Организация,
        |	СостояниеРаботниковОрганизаций.Приказ,
        |	СостояниеРаботниковОрганизаций.Состояние,
        |	СостояниеРаботниковОрганизаций.Период
        |ИЗ
        |	РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
        |ГДЕ
        |	СостояниеРаботниковОрганизаций.Период МЕЖДУ &ДатаНачала И &ДатаКонца
        |	И СостояниеРаботниковОрганизаций.Организация = &Организация
        |	И СостояниеРаботниковОрганизаций.ФизЛицо       = &ФизЛицо
        |	И СостояниеРаботниковОрганизаций.Приказ          = &Приказ


        документ (регистратор) берется из регистра как СостояниеРаботниковОрганизаций.Регистрат ор, поля все тоже из него, искать документ во вложенном, затем связывать его с регистратором во внешнем запросе когда можно получить его же через .Регистратор = страдать ФГМ. Да и выбор полей ФизЛицо, Приказ и Организация когда они уже известны заранее (по ним идет отбор) тоже нужно весма в редких случаях.

        Учи сиквел, баран.
        Ответить
      • Вот так всегда: баран и всех вокруг баранами считает...
        Ответить

    Добавить комментарий