8.х Помогите сформировать запрос к регистру бухгалтерии

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

  1. TopicStarter Overlay
    cdiamond
    Offline

    cdiamond Опытный в 1С

    Регистрация:
    25 июн 2008
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    Есть такой фрагмент кода:
    Код:
    СтрокаЗапроса = "ВЫБРАТЬ
    | Хозрасчетный.Сумма
    | ИЗ
    | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
    | ГДЕ
    | Хозрасчетный.Регистратор = &Регистратор
    | И Хозрасчетный.СчетКт.Код = ""68.02"""
    
    
    Если в документе заданы несколько разных групп номенклатуры (Субконто1 дебитового счета, в конкретном случае это 90.03), то запрос выдает более чем одну строку.
    Как допольнить запрос еще одним параметром, Субконто1 дебитового счета, чтоб возвращалась только одна нужная мне строка? Что-то я запутался в структуре регистра бухгалтерии.
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код:
    СтрокаЗапроса = "ВЫБРАТЬ
    | Хозрасчетный.Сумма
    | ИЗ
    | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
    | ГДЕ
    | Хозрасчетный.Регистратор = &Регистратор
    | И Хозрасчетный.СчетКт.Код = ""68.02""
    | И Хозрасчетный.Субконто1 = &Субконто1"
    
    
    Немного не понял общую задачу, можно поподробнее про суть проблемы?
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    У реальной таблицы РБ нет Субконто, необходимо использовать виртуальные таблицы. Так же рекомендуется использовать параметры виртуальных таблиц для условий отбора нужных строк таблиц
  4. TopicStarter Overlay
    cdiamond
    Offline

    cdiamond Опытный в 1С

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

    Код:
    ВЫБРАТЬ
    ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    ,
    ,
    Регистратор = &Регистратор
    И СчетКт.Код = "68.02"
    И СубконтоДт1 = &СубконтоДт1) КАК ХозрасчетныйДвиженияССубконто
    
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Перепишете нафиг это
    СчетКт.Код = "68.02"

    это замедляет работу запроса на порядки
  6. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    использовать функцию "ЗНАЧЕНИЕ()" ?
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Так точно

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