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

Автор Тема: Как правильно сделать запрос и получить количество повторяющихся элементов в таблице (временная)?  (Прочитано 1494 раз)

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

Оффлайн Владислав Клишин

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-18
  • Сайт: 
у меня есть обработка с табличной частью документа. Табличная часть включает в себя два реквизита
- НомерСтроки
- СтрокаТабЧасти

СтрокаТабЧасти заполняется символами рандомно.
Мне нужно вывести все повторяющиеся элементы в таблице с помощью запроса:

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


Запрос.УстановитьПараметр("ТабличнаяЧасть",Объект.ТабЧасть.Выгрузить());
РезультатЗапроса = Запрос.Выполнить();

Результат:





Оффлайн Дмитрий@

  • *****
  • Сообщений: 731
  • РЕПУТАЦИЯ: 133
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
"ВЫБРАТЬ 
        |  СтрокаТабЧасти,
        |  НомерСтроки
        |ПОМЕСТИТЬ
        |  ВременнаяТаблица
        |ИЗ
        |  &ТабличнаяЧасть КАК ТабличнаяЧасть
        |;
        |////////////////////////////////////////
        |ВЫБРАТЬ РАЗЛИЧНЫЕ
        |  СтрокаТабЧасти   
        |ИЗ
        |  ВременнаяТаблица КАК ВременнаяТаблица";
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Ну и как этот запрос поможет в вопросе автора?
все повторяющиеся элементы

В качестве идеи. Это не готовый вариант, нужно еще будет поиграться:
"ВЫБРАТЬ
| ЗаказПокупателяТовары.НомерСтроки,
| ЗаказПокупателяТовары.Номенклатура
|ПОМЕСТИТЬ втТовары
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура,
| СУММА(ВложенныйЗапрос.Счетчик) КАК Счетчик
|ПОМЕСТИТЬ вт2
|ИЗ
| (ВЫБРАТЬ
| втТовары.НомерСтроки КАК НомерСтроки,
| втТовары.Номенклатура КАК Номенклатура,
| 1 КАК Счетчик,
| втТовары1.НомерСтроки КАК НомерСтроки1
| ИЗ
| втТовары КАК втТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втТовары КАК втТовары1
| ПО втТовары.Номенклатура = втТовары1.Номенклатура
| И втТовары.НомерСтроки < втТовары1.НомерСтроки) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| вт2.Номенклатура,
| вт2.Счетчик
|ИЗ
| вт2 КАК вт2
|ГДЕ
| вт2.Счетчик > 1"

Оффлайн TerverVl

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 7
  • КПД: 21%
  • Регистрация: 2015-12-28
  • Сайт: 
  • Профессия: Программист 1С
Готовый вариант:
	Запрос.Текст = 
"ВЫБРАТЬ
| ТабличнаяЧасть.СтрокаТабЧасти,
| ТабличнаяЧасть.НомерСтроки,
| 1 КАК Количество
|ПОМЕСТИТЬ ВТ
|ИЗ
| &ТабличнаяЧасть КАК ТабличнаяЧасть
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.СтрокаТабЧасти,
| МИНИМУМ(ВТ.НомерСтроки) КАК НомерСтроки,
| СУММА(ВТ.Количество) КАК Количество
|ПОМЕСТИТЬ ВТ_Повторяющиеся
|ИЗ
| ВТ КАК ВТ
|
|СГРУППИРОВАТЬ ПО
| ВТ.СтрокаТабЧасти
|
|ИМЕЮЩИЕ
| СУММА(ВТ.Количество) > 1
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.НомерСтроки,
| ВТ.СтрокаТабЧасти
|ИЗ
| ВТ КАК ВТ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Повторяющиеся КАК ВТ_Повторяющиеся
| ПО ВТ.СтрокаТабЧасти = ВТ_Повторяющиеся.СтрокаТабЧасти";

И ещё момент, чтобы запрос работал, нужно реквизит Табличной части "СтрокаТабЧасти" сделать строкой ограниченной длины.

Оффлайн Дмитрий@

  • *****
  • Сообщений: 731
  • РЕПУТАЦИЯ: 133
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Ну и как этот запрос поможет в вопросе автора?
Цитата: Владислав Клишин от Сегодня в 11:49
все повторяющиеся элементы
М..да, немножко не понял вопроса
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB


Теги:  SQL Запрос 
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 8288
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

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

Ответов: 2
Просмотров: 2727
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

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

Ответов: 1
Просмотров: 796
Последний ответ 11 Июл 2016, 09:00
от vitasw
Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 3420
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
Запрос по обработке "Согласование заявок"

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

Ответов: 0
Просмотров: 507
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
96 Сообщений
oleg-x
75 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
66 Сообщений
Golickoff Golickoff
53 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
40 Сообщений
Амал
30 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal