Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Форматирование в сложном запросе (посоветуйте) (число прочтений - 5604 )
Beria
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 33
Зарегистрирован: 10. Февраля 2009
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #15 - 16. Марта 2009 :: 14:11
Печать  
kiruha писал(а) 16. Марта 2009 :: 13:11:
Z1 писал(а) 16. Марта 2009 :: 11:52:
Чем не устраивает вариант из ссылки №6 ?


То что функция использует запрос для каждой строки выборки.
А если 1000 строк?

Уж лучше просто в ТЗ результата запроса пройтись построчно ...
Или статистическую свою.


А 16 тыщ строк не хотите? Я не шучу, у меня во время прохода ТЗ люди ждут и ругаются........... Вот такой подчиненный к номенклатуре справочник у меня (
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #16 - 16. Марта 2009 :: 14:35
Печать  
А нафига пользователям отчет в 16К строк??
Я понимаю, если для каких-то служебных обработок типа обмена, выгрузки и т.д.

Пользователи все равно такой большой объем никогда не будут обрабатывать, будут смотреть только итоговые цифры.

Расскажешь свою задачу?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #17 - 16. Марта 2009 :: 14:39
Печать  
Beria писал(а) 16. Марта 2009 :: 14:11:
kiruha писал(а) 16. Марта 2009 :: 13:11:
Z1 писал(а) 16. Марта 2009 :: 11:52:
Чем не устраивает вариант из ссылки №6 ?


То что функция использует запрос для каждой строки выборки.
А если 1000 строк?

Уж лучше просто в ТЗ результата запроса пройтись построчно ...
Или статистическую свою.


А 16 тыщ строк не хотите? Я не шучу, у меня во время прохода ТЗ люди ждут и ругаются........... Вот такой подчиненный к номенклатуре справочник у меня (


не понял
16 тысяч строк для каждого типа и сколько тогда типов ( тогда что-то в постановке задачи не так  - задачу в студию )
или всего 16 тысяч строк в таблице ?
Ты пост 14 читал ?

  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #18 - 16. Марта 2009 :: 15:59
Печать  
Можно тоже в тему спрошу. Во всех приведённых примерах используется Select * From Tablename, а как быть если запрос хитрее?
К примеру, мы получаем данные в приведённой выборке не напрямую из таблицы, а в подзапросе. Как использовать сложение строк?

Совсем реальный пример: в регистре измерения "Товар", "Клиент" и ресурс "Количество" (храним заказанный товар). В ВТ получаем выборку выборку вида
Товар-sum(Количество), и к ним нужно добавить строкой наименования клиентов, которые сделали заказ. Как тут быть?

зы Исходники group_concat() не нашёл, по описанию она вроде бы то что надо
  
Наверх
 
IP записан
 
Beria
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 33
Зарегистрирован: 10. Февраля 2009
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #19 - 16. Марта 2009 :: 20:06
Печать  
Z1 писал(а) 16. Марта 2009 :: 14:39:
не понял
16 тысяч строк для каждого типа и сколько тогда типов ( тогда что-то в постановке задачи не так  - задачу в студию )
или всего 16 тысяч строк в таблице ?
Ты пост 14 читал ?



Задача проста Есть номенклатура, есть подчиненный справочник доп коды  жутких объемов (струтктуру менять нельзя). Надо его содержимое выводить в более приемлимом виде......... причем максимально быстро. Стандартный запрос 1с не рулит, медленно.......
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #20 - 17. Марта 2009 :: 04:01
Печать  
Beria писал(а) 16. Марта 2009 :: 20:06:
Задача проста Есть номенклатура, есть подчиненный справочник доп коды  жутких объемов (струтктуру менять нельзя). Надо его содержимое выводить в более приемлимом виде......... причем максимально быстро. Стандартный запрос 1с не рулит, медленно.......

Что есть "в более приемлимом виде"? Если уж через Ваши запятые, то формируй эту строку ТОЛЬКО при выводе строки на экран (ибо какой смысл по невидимым строкам рассчитывать каждый раз эти ДопКоды)
  
Наверх
ICQ  
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #21 - 17. Марта 2009 :: 04:07
Печать  
pavel_tr писал(а) 16. Марта 2009 :: 15:59:
Можно тоже в тему спрошу. Во всех приведённых примерах используется Select * From Tablename, а как быть если запрос хитрее?
К примеру, мы получаем данные в приведённой выборке не напрямую из таблицы, а в подзапросе. Как использовать сложение строк?

Совсем реальный пример: в регистре измерения "Товар", "Клиент" и ресурс "Количество" (храним заказанный товар). В ВТ получаем выборку выборку вида
Товар-sum(Количество), и к ним нужно добавить строкой наименования клиентов, которые сделали заказ. Как тут быть?

зы Исходники group_concat() не нашёл, по описанию она вроде бы то что надо

1) А в каком бизнес-процессе можно воспользоваться информацией вида "Товар: Молоко; ОбщееЗаказанноеКоличество:1500; Клиенты:Иванов,Петров,Сидоров"?
2) Если уж совсем надо пользоваться такой информацией, то лично я бы одновременно с записью в регистр писал бы тогда данные и в спец СКЛ-базу, чтобы получать далее простую выборку вида "Select * From Tablename"
  
Наверх
ICQ  
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #22 - 17. Марта 2009 :: 05:10
Печать  
Salimbek писал(а) 17. Марта 2009 :: 04:07:
1) А в каком бизнес-процессе можно воспользоваться информацией вида "Товар: Молоко; ОбщееЗаказанноеКоличество:1500; Клиенты:Иванов,Петров,Сидоров"?

Передо мной такую задачу как раз поставили! Мы книгами торгуем. Пока сделал формирование строки при выводе таблицы по каждой строке, но хочется сделать одним запросом

Salimbek писал(а) 17. Марта 2009 :: 04:07:
2) Если уж совсем надо пользоваться такой информацией, то лично я бы одновременно с записью в регистр писал бы тогда данные и в спец СКЛ-базу, чтобы получать далее простую выборку вида "Select * From Tablename"

Можно делать Select во временную таблицу при формировании отчёта, зачем же так усложнять? А потом тот же Select * From Tablename подойдёт. Думал может покрасивше получится
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #23 - 17. Марта 2009 :: 05:33
Печать  
pavel_tr писал(а) 17. Марта 2009 :: 05:10:
Salimbek писал(а) 17. Марта 2009 :: 04:07:
1) А в каком бизнес-процессе можно воспользоваться информацией вида "Товар: Молоко; ОбщееЗаказанноеКоличество:1500; Клиенты:Иванов,Петров,Сидоров"?

Передо мной такую задачу как раз поставили! Мы книгами торгуем. Пока сделал формирование строки при выводе таблицы по каждой строке, но хочется сделать одним запросом

Salimbek писал(а) 17. Марта 2009 :: 04:07:
2) Если уж совсем надо пользоваться такой информацией, то лично я бы одновременно с записью в регистр писал бы тогда данные и в спец СКЛ-базу, чтобы получать далее простую выборку вида "Select * From Tablename"

Можно делать Select во временную таблицу при формировании отчёта, зачем же так усложнять? А потом тот же Select * From Tablename подойдёт. Думал может покрасивше получится


кто мешает одним sql запросом получить упорядоченную по ДопКод таблицу
ДопКод , Товар
или в твоем случае
Товар, колво, Клиент
и делать конкатенацию строк в 1с за один проход т.к. таблица уже упорядочена по товарам ?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #24 - 17. Марта 2009 :: 06:09
Печать  
pavel_tr писал(а) 17. Марта 2009 :: 05:10:
Передо мной такую задачу как раз поставили! Мы книгами торгуем. Пока сделал формирование строки при выводе таблицы по каждой строке, но хочется сделать одним запросом

Извини, но мой вопрос был - "В каком бизнес-процессе?", вот ну не могу я понять, что может дать информация "Заказано 500 книг, такими-то контрагентами" Все равно надо раскидывать заказ по каждому контрагенту персонально.
Z1 писал(а) 17. Марта 2009 :: 05:33:
кто мешает одним sql запросом получить упорядоченную по ДопКод таблицу
ДопКод , Товар
или в твоем случае
Товар, колво, Клиент
и делать конкатенацию строк в 1с за один проход т.к. таблица уже упорядочена по товарам ?

ИМХО, удобнее Индексированной таблицей воспользоваться и ее методом "Группировать"
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #25 - 17. Марта 2009 :: 07:47
Печать  
Salimbek писал(а) 17. Марта 2009 :: 06:09:
Извини, но мой вопрос был - "В каком бизнес-процессе?", вот ну не могу я понять, что может дать информация "Заказано 500 книг, такими-то контрагентами" Все равно надо раскидывать заказ по каждому контрагенту персонально.


В принципе отображение через запятую требуется достаточно часто.
У нас это - перечень машин перевозящих заказ, даты оплаты по счету.
Можно конечно формировать отдельную строку или(и) колонки - но для восприятия неудобно - отчет разрастается

По сабжу присоединюсь - эту колнку (с запятыми) лучше получать отдельным запросом в ТЗ и из ТЗ
при выводе ячейки на экран (либо - статист функция и SQL 2005).
  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Форматирование в сложном запросе (посоветуйте)
Ответ #26 - 17. Марта 2009 :: 10:22
Печать  
Вывод подобной строки естественно нужен только для доп.информации. При всех обработках конечно же заказы берутся по клиентам отдельно.
Формирование строки из 1С при выводе - вполне рабочий вариант, просто так исторически сложилось, что есть отлаженный запрос (делался раньше), к которому такую вот строку надо прикрутить. Переписывать алгоритм формирования таблицы не очень хочется, там достаточно наворочено... Вот и возникла идея с формированием строки с помощью SQL
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать