Версия для печати темы (https://pro1c.org.ua/index.php?s=30ffebf113768396f5634af00e938f85&showtopic=1386)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Конкатенация в запросе

Автор: awp 19.02.10, 13:20

как использовать конкатенацию в запросе? Необходимо объединить 3 строки в одну а именно

День(ПродажиОбороты.Период) +"."+ месяц(ПродажиОбороты.Период) +"."+ год(ПродажиОбороты.Период) - 01.01.2010

но возникает ошибка.

Цитата
Неверные параметры +





ВЫБРАТЬ
День(ПродажиОбороты.Период) +"."+ месяц(ПродажиОбороты.Период) +"."+ год(ПродажиОбороты.Период) КАК ФПериод,
ВЫБОР
КОГДА ПродажиОбороты.Номенклатура ЕСТЬ NULL
ТОГДА ПоказанияСчетчиков.Номенклатура
ИНАЧЕ ПродажиОбороты.Номенклатура
КОНЕЦ КАК Номенклатура,
СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
СУММА(ПоказанияСчетчиков.Показание) КАК Показание,
СУММА(ПоказанияСчетчиков.Брак) КАК Брак,
СУММА(ЕСТЬNULL(ПоказанияСчетчиков.Показание, 0) - ЕСТЬNULL(ПоказанияСчетчиков.Брак, 0) - ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)) КАК Дельта,
НАЧАЛОПЕРИОДА(ВЫБОР
КОГДА ПродажиОбороты.Период ЕСТЬ NULL
ТОГДА ПоказанияСчетчиков.Период
ИНАЧЕ ПродажиОбороты.Период
КОНЕЦ, ДЕНЬ) КАК Период
ИЗ
РегистрСведений.ПоказанияСчетчиков КАК ПоказанияСчетчиков
ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Номенклатура В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.Номенклатура.ФотоУслуги))) КАК ПродажиОбороты
ПО ПоказанияСчетчиков.Номенклатура = ПродажиОбороты.Номенклатура
И (НАЧАЛОПЕРИОДА(ПоказанияСчетчиков.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ))
ГДЕ
ПоказанияСчетчиков.Период МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(ВЫБОР
КОГДА ПродажиОбороты.Период ЕСТЬ NULL
ТОГДА ПоказанияСчетчиков.Период
ИНАЧЕ ПродажиОбороты.Период
КОНЕЦ, ДЕНЬ),
ВЫБОР
КОГДА ПродажиОбороты.Номенклатура ЕСТЬ NULL
ТОГДА ПоказанияСчетчиков.Номенклатура
ИНАЧЕ ПродажиОбороты.Номенклатура
КОНЕЦ

УПОРЯДОЧИТЬ ПО
Период,
Номенклатура,
Дельта
ИТОГИ
СУММА(КоличествоОборот),
СУММА(Показание),
СУММА(Брак),
СУММА(Дельта)
ПО
ОБЩИЕ,
Период ПЕРИОДАМИ(ДЕНЬ, , ),
Номенклатура

Автор: alkras 12.11.10, 17:12

А не проще использовать НачалоПериода(ПродажиОбороты.Период,Месяц)

Автор: Vofka 12.11.10, 17:52

Можно воспользоваться предложением alkras, но если оно не подходит, то наверное нужно преобразовать данные типа:

ВЫРАЗИТЬ(День(ПродажиОбороты.Период) КАК Строка(2))

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua