Обрезать строки в запросе

1. deringpavel 02.10.14 13:40 Сейчас в теме
Здравствуйте, друзья. Возник вопрос - имеется запрос для отчета, и требуется содержание услуг обрезать после слова "по". Текст запроса такой:

Код
"ВЫБРАТЬ
   |   Хозрасчетный.Содержание КАК Содержание,
   |   ХозрасчетныйОборотыДтКт.СчетДт КАК СчетДт,
   |   ХозрасчетныйОборотыДтКт.СчетКт КАК СчетКт,
   |   ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Контрагент,
   |   СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК Сумма
   |ИЗ
   |   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаС, &ДатаПо, Период, , , , , ) КАК ХозрасчетныйОборотыДтКт
   |      ПО Хозрасчетный.СчетДт = ХозрасчетныйОборотыДтКт.СчетДт
   |         И Хозрасчетный.СчетКт = ХозрасчетныйОборотыДтКт.СчетКт
   |ГДЕ
   |   Хозрасчетный.Период МЕЖДУ &ДатаС И &ДатаПО
   |
   |СГРУППИРОВАТЬ ПО
   |   ХозрасчетныйОборотыДтКт.СчетДт,
   |   ХозрасчетныйОборотыДтКт.СчетКт,
   |   ХозрасчетныйОборотыДтКт.СубконтоКт1,
   |   Хозрасчетный.Содержание
   |ИТОГИ
   |   СУММА(Сумма)
   |ПО
   |   ОБЩИЕ,
   |   Содержание,
   |   Контрагент,
   |   СчетКт,
   |   СчетДт";
Показать полностью
Прикрепленные файлы:
отчет.docx
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. infostart user 20 02.10.14 13:49 Сейчас в теме
максимум, что ты сможешь сделать в запросе, это воспользоваться функцией ПОДСТРОКА, но она не поможет, т.к. начальная позиция, на сколько я понимаю, всегда будет разной.
как вариант выбрать полностью таблицу в запросе, обойти ее в цикле, обрезать содержание по нужному условию и запихнуть обратно в запрос, и работать дальше в запросе.
3. dj_serega 392 02.10.14 13:52 Сейчас в теме
(2) infostart user, в дополнение можно предложить добавить реквизит с позицией "по" =)
4. deringpavel 03.10.14 10:53 Сейчас в теме
И еще один вопрос - почему-то реквизит табличной части "содержание" не группируется и не помещается в итоги...
Текст:

Код

"ВЫБРАТЬ
   |   ПоступлениеТоваровУслугУслуги.Содержание,
   |   ПоступлениеТоваровУслугУслуги.Ссылка
   |ПОМЕСТИТЬ ТЧ
   |ИЗ
   |   Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ТЧ.Содержание,
   |   ХозрасчетныйОборотыДтКт.СчетДт КАК СчетДт,
   |   ХозрасчетныйОборотыДтКт.СчетКт КАК СчетКт,
   |   ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Контрагент,
   |   ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма
   |ИЗ
   |   ТЧ КАК ТЧ
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаС, &ДатаПо, Регистратор, , , , , ) КАК ХозрасчетныйОборотыДтКт
   |      ПО ТЧ.Ссылка = ХозрасчетныйОборотыДтКт.Регистратор
   |ИТОГИ
   |   СУММА(Сумма)
   |ПО
   |   СчетДт,
   |   Контрагент,
   |   СчетКт";

Показать полностью
5. tamidi 8 03.10.14 11:00 Сейчас в теме
(4) deringpavel, может длина слишком большая, попробуйте взять подстроку
6. infostart user 20 03.10.14 11:19 Сейчас в теме
(4) deringpavel, вылазит какая-то ошибка?
7. reotem 03.10.14 11:25 Сейчас в теме
(4) deringpavel,

Попробуйте реквизит табличной части "содержание" выразить как подстроку, т.е
Подстрока(ПоступлениеТоваровУслугУслуги.Содержание,0,200)
8. deringpavel 09.10.14 10:29 Сейчас в теме
Спасибо, получилось.

А вот еще один вопрос... Имеется запрос, где происходит задваивание записей...

Код
ВЫБРАТЬ
   ХозрасчетныйОборотыДтКт.СуммаОборот,
   ХозрасчетныйОборотыДтКт.СчетКт,
   ХозрасчетныйОборотыДтКт.СчетДт,
   ХозрасчетныйОборотыДтКт.Период,
   ХозрасчетныйОборотыДтКт.Регистратор
ИЗ
   (ВЫБРАТЬ
      ПоступлениеТоваровУслугУслуги.Ссылка КАК Ссылка,
      ПОДСТРОКА(ПоступлениеТоваровУслугУслуги.Содержание, 1, 150) КАК Содержание
   ИЗ
      Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги) КАК ВложенныйЗапрос
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, Регистратор, СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ИздержкиОбращения), , СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщиками), , ) КАК ХозрасчетныйОборотыДтКт
      ПО ВложенныйЗапрос.Ссылка = ХозрасчетныйОборотыДтКт.Регистратор
ГДЕ
   ХозрасчетныйОборотыДтКт.СубконтоКт1 = &СубконтоКт1
Показать полностью
Прикрепленные файлы:
9. kuzev 47 09.10.14 10:53 Сейчас в теме
(8) deringpavel, вместо "ВЫБРАТЬ" напиши "ВЫБРАТЬ РАЗЛИЧНЫЕ".
11. Salavat 13 09.10.14 18:21 Сейчас в теме
(9) kuzev, или Группировку использовать.
10. deringpavel 09.10.14 11:44 Сейчас в теме
12. Salavat 13 09.10.14 18:23 Сейчас в теме
(10) deringpavel, значит - или не поставили или не там поставили.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот