8.х Условия в запросе

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем JediAlex, 27 окт 2011.

  1. TopicStarter Overlay
    JediAlex
    Offline

    JediAlex Опытный в 1С

    Регистрация:
    27 авг 2011
    Сообщения:
    140
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, уважаемые специалисты. Делаю запрос к регистру бухгалтерии по выбору записей из таблицы регистра ОстаткиИОбороты. Необходимо наложить условие на поле Счет, чтобы выбирались все значения из таблицы только для расчетного счета и условие не должно быть параметром, т.е. не должно заполняться пользователем... Делал так:ХозрасчетныйОстаткиИОбороты.Счет=ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета). Ругается в результате на строку:
    ЗНАЧЕНИЕ(ПланнСчетов.Хозрасчетный.РасчетныеСчета) таким сообщением:
    Синтаксическая ошибка (ПланСчетов.Хозрасчетный.РасчетныеСчета) И ХозрасчетныйОстаткиИОбороты.Счет=&ЗНАЧЕНИЕ<<?>>(ПланнСчетов.Хозрасчетный.РасчетныеСчета). Как правильно задать выражение для условия? Наименование счета я осмотрел в списке предопределенных счетов для плана счетов...
  2. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    С начала вы пишете так

    Код:
    ХозрасчетныйОстаткиИОбороты.Счет=ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета)
    
    
    Потом уже глядишь так

    Код:
    ХозрасчетныйОстаткиИОбороты.Счет=[b]&[/b]ЗНАЧЕНИЕ<<?>>(ПланнСчетов.Хозрасчетный.РасчетныеСчета)
    
    
    Второе вообще никак не правильно (я про &).

    Вот пример:

    Код:
    ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
    ХозрасчетныйОстаткиИОбороты.Субконто1
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , , , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета), , ) КАК ХозрасчетныйОстаткиИОбороты
    
    
    В следующий раз предъявляете весь текст запроса.
  3. TopicStarter Overlay
    JediAlex
    Offline

    JediAlex Опытный в 1С

    Регистрация:
    27 авг 2011
    Сообщения:
    140
    Симпатии:
    0
    Баллы:
    26
    Спасибо за помощь. Возник еще такой вопрос. Сделал форму отчета. На неё помести поля ввода - НачалоПериода, КонецПериода, Организация - соответственно параметрам отчета.Как сделать так, чтоб можно было редактировать параметры отчета через эти поля ввода? т.е. не открывать окно Настройки в форме отчета? Параметры НачалоПериода, КонецПериода, Организация заданы в СКД как параметры запроса. НачалоПериода, КонецПериода - параметры виртуальной таблицы ОстаткиИОбороты регистра бухгалтерии - источника данных для запроса в СКД.
    Текст запроса, полученный в СКД:
    Код:
    ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.Счет,
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК БанковскийСчет,
    ХозрасчетныйОстаткиИОбороты.Организация,
    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета), , ) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ
    ХозрасчетныйОстаткиИОбороты.Организация = &Организация
    
  4. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Вот пример:

    Код:
    	ПараметрНачалоПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
    Если ПараметрНачалоПериода  <> Неопределено Тогда
    ПараметрНачалоПериода.Значение.Дата = НачалоПериода;
    Иначе
    Сообщить("Не найден параметр ""НачалоПериода"", отчет сформирован с настройками по умолчанию ");	
    КонецЕсли;
    
  5. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    и Запрос лучше вот так написать. Так быстрее работать будет.

    Код:
    ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.Счет,
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК БанковскийСчет,
    ХозрасчетныйОстаткиИОбороты.Организация,
    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета), ,Организация = &Организация ) КАК ХозрасчетныйОстаткиИОбороты
    
    
    
Похожие темы
  1. Robix
    Ответов:
    4
    Просмотров:
    371
Загрузка...

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