Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 05:33
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Помогите пожалуйста с запросом?  (Прочитано 1399 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн decdmb

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-20
  • Сайт: 
  • Профессия: Программист 8.1
Имеется следующая ТабЧасть:

Ссылка     |    НаименовПараметра    |    ЗначениеПараметра
-------------------------------------------------------------------------
ГАЙКА1     |      Наименование          |        Гайка1
ГАЙКА1     |      Стандарт                  |        ГОСТ1
ГАЙКА1     |      Стадия                     |        Разработка
ГАЙКА1     |      Состояние                |        В разработке
ГАЙКА2     |      Наименование          |        Гайка2
ГАЙКА2     |      Стандарт                  |        ГОСТ2
ГАЙКА2     |      Стадия                     |        Разработка
ГАЙКА2     |      Состояние                |        В разработке

Подскажите как выбрать из данной таблицы определенные параметры,
 чтобы получить следующую таблицу:

Ссылка     |    Наименование    |         Стадия          |        Стандарт
--------------------------------------------------------------------------------
ГАЙКА1     |     Гайка1              |         Разработка    |     ГОСТ1     
ГАЙКА2     |     Гайка2              |         Разработка    |     ГОСТ2


Количество параметров выбирается пользователем.
Заранее благодарен!


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Берем нашу таблицу 4 раза - в каждой ставим условие на соответствующее НаименованиеПараметра и соединяем их по полю Ссылка.

Что-то типа:
Запрос.Текст="
ВЫБРАТЬ
      Таблица1.ЗначениеПараметра КАК Наименование,
      Таблица2.ЗначениеПараметра КАК Стандарт,
      Таблица3.ЗначениеПараметра КАК Стадия,
      Таблица4.ЗначениеПараметра КАК Состояние
ИЗ
    ИЗ
Справочник.Таблица1 КАК таблица1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Таблица КАК Таблица2
ПО Таблица1.Ссылка = Таблица2.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Таблица КАК Таблица3
ПО Таблица1.Ссылка = Таблица3.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Таблица КАК Таблица4
ПО Таблица1.Ссылка = Таблица4.Ссылка
ГДЕ
Таблица1.НаименованиеПараметра = ""Наименование""
И Таблица2.НаименованиеПараметра = ""Стандарт""
И Таблица3.НаименованиеПараметра = ""Стадия""
И Таблица4.НаименованиеПараметра = ""Состояние""";
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн decdmb

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-20
  • Сайт: 
  • Профессия: Программист 8.1
Берем нашу таблицу 4 раза - в каждой ставим условие на соответствующее НаименованиеПараметра и соединяем их по полю Ссылка.
Задача немного сложнее потому, что количество и наименование параметров, которые надо выбрать, становиться известно только при выборе пользователем.
Я пока вижу только один выход  - генерировать текст запроса в зависимости от выбора пользователя, но кажется что это дело не благодарное....

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Ну почему же))) Можно и динамически собирать текст запроса, такое тоже иногда бывает.
А вообще, вопрос - зачем именно а таком формате? Как потом будет обрабатываться эта таблица?

Можно сделать проще - сгруппировать записи по полю "Ссылка", тогда получится вывод формата:

Ссылка           |    НаименовПараметра    |    ЗначениеПараметра
-------------------------------------------------------------------------
ГАЙКА1     
     ГАЙКА1     |      Наименование          |        Гайка1
     ГАЙКА1     |      Стандарт                  |        ГОСТ1
     ГАЙКА1     |      Стадия                     |        Разработка
     ГАЙКА1     |      Состояние                |        В разработке
ГАЙКА2     
     ГАЙКА2     |      Наименование          |        Гайка2
     ГАЙКА2     |      Стандарт                  |        ГОСТ2
     ГАЙКА2     |      Стадия                     |        Разработка
     ГАЙКА2     |      Состояние                |        В разработке

Выбираем тогда по группировкам данные, и обрабатываем:
Выборка=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() цикл
    ВыборкаДетали=Выборка.Выбрать();
    Пока ВыборкаДетали.Следующий() цикл
          // здесь при получении НаменованияПараметра - получаем имя поля
          // а при получении ЗначенияПараметра - само значение.
    КонецЦикла;
КонецЦикла;

И не надо запрос динамически собирать :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн decdmb

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-20
  • Сайт: 
  • Профессия: Программист 8.1
А вообще, вопрос - зачем именно а таком формате? Как потом будет обрабатываться эта таблица?
Из данных, полученных в данном виде:
Ссылка     |    Наименование    |         Стадия          |        Стандарт
--------------------------------------------------------------------------------
ГАЙКА1     |     Гайка1              |         Разработка    |     ГОСТ1     
ГАЙКА2     |     Гайка2              |         Разработка    |     ГОСТ2

Необходимо отобрать изделия с одинаковыми параметрами ( параметры - которые выбрал пользователь).

Выбираем тогда по группировкам данные, и обрабатываем
Выглядит и правда просто, спасибо большое за помощь!!!


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4293
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5552
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5888
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

Автор Dm109Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4367
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

Автор Vasya PovarРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1979
Последний ответ 07 Дек 2016, 15:53
от Kironten

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 227
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal