Добрый день. При нажатии команды1, одинаковые контрагенты группируются и записываются количество одинаковых в поле количество. работает все как нужно. но если нажать на команду1 во второй раз, количество меняется на 1. не могу понять где ошибка
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Таблица", Объект.ДанныеТО.Выгрузить());
Запрос.Текст =
"ВЫБРАТЬ
|Контрагент,
|Количество,
|Категория
|ПОМЕСТИТЬ ВТ_ТЧ
|ИЗ
|&Таблица КАК Таблица
|ИНДЕКСИРОВАТЬ ПО
|Контрагент
|;
|ВЫБРАТЬ
|Контрагент,
|Количество(Контрагент) КАК Количество
|ИЗ
|ВТ_ТЧ
|СГРУППИРОВАТЬ ПО
|Контрагент
|УПОРЯДОЧИТЬ ПО
|Контрагент
|;";
Объект.ДанныеТО.Загрузить(Запрос.Выполнить().Выгрузить());
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Таблица", Объект.ДанныеТО.Выгрузить());
Запрос.Текст =
"ВЫБРАТЬ
|Контрагент,
|Количество,
|Категория
|ПОМЕСТИТЬ ВТ_ТЧ
|ИЗ
|&Таблица КАК Таблица
|ИНДЕКСИРОВАТЬ ПО
|Контрагент
|;
|ВЫБРАТЬ
|Контрагент,
|Количество(Контрагент) КАК Количество
|ИЗ
|ВТ_ТЧ
|СГРУППИРОВАТЬ ПО
|Контрагент
|УПОРЯДОЧИТЬ ПО
|Контрагент
|;";
Объект.ДанныеТО.Загрузить(Запрос.Выполнить().Выгрузить());
Прикрепленные файлы:
По теме из базы знаний
- Образец исследования по ведению контрагентов
- Дюжина вопросов для программиста 1С
- Выгрузка УПД реализации в xml ФНС для загрузки в ЭДО: Диадок, СБИС, Такском, КОРУС, Астрал и прочие. Обработка на управляемых формах для БП 3.0, УНФ 1.6 / 3.0, УТ 11.4 / 11.5, КА 2, ERP 2 (Приказ ФНС №820 от 19.12.2018, 736 от 12.10.2020)
- Ведомость дебиторско-кредиторской задолженности
- Оператор GOTO в 1С - табу или волшебная палочка?
Найденные решения
(5)Вариант раз, подсчет без сворачивания.
Свернуть и поместить в ВТ. Следующим пакетом соединяем первую ВТ со второй
Свернуть и поместить в ВТ. Следующим пакетом соединяем первую ВТ со второй
ВЫБРАТЬ
т.Контрагент КАК Контрагент,
т.Категория КАК Категория
ПОМЕСТИТЬ ВТ
ИЗ
&ТЗ КАК т
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
КОЛИЧЕСТВО(ВТ.Категория) КАК Количество
ПОМЕСТИТЬ ВТ2
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Контрагент,
ВТ.Категория
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
ВТ2.Количество КАК Количество
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
ПО (ВТ.Контрагент = ВТ2.Контрагент
И ВТ.Категория = ВТ2.Категория)
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ваш запрос считает количество повторяющихся в исходной таблице контрагентов. После первого прохода таблица сворачивается, и каждого контрагента в ней ровно по 1 штуке. Следовательно на втором проходе подсчет повторений контрагентов дает единицу.
(5)Вариант раз, подсчет без сворачивания.
Свернуть и поместить в ВТ. Следующим пакетом соединяем первую ВТ со второй
Свернуть и поместить в ВТ. Следующим пакетом соединяем первую ВТ со второй
ВЫБРАТЬ
т.Контрагент КАК Контрагент,
т.Категория КАК Категория
ПОМЕСТИТЬ ВТ
ИЗ
&ТЗ КАК т
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
КОЛИЧЕСТВО(ВТ.Категория) КАК Количество
ПОМЕСТИТЬ ВТ2
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Контрагент,
ВТ.Категория
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
ВТ2.Количество КАК Количество
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
ПО (ВТ.Контрагент = ВТ2.Контрагент
И ВТ.Категория = ВТ2.Категория)
Показать
(8)
Работает) только нужно было убрать категорию из вт. спасибо)
ВЫБРАТЬ
т.Контрагент КАК Контрагент,
т.Категория КАК Категория
ПОМЕСТИТЬ ВТ
ИЗ
&ТЗ КАК т
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент
КОЛИЧЕСТВО(ВТ.Категория) КАК Количество
ПОМЕСТИТЬ ВТ2
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Контрагент
ИНДЕКСИРОВАТЬ ПО
Контрагент
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
ВТ2.Количество КАК Количество
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
ПО (ВТ.Контрагент = ВТ2.Контрагент)
Показатьт.Контрагент КАК Контрагент,
т.Категория КАК Категория
ПОМЕСТИТЬ ВТ
ИЗ
&ТЗ КАК т
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент
КОЛИЧЕСТВО(ВТ.Категория) КАК Количество
ПОМЕСТИТЬ ВТ2
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Контрагент
ИНДЕКСИРОВАТЬ ПО
Контрагент
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
ВТ2.Количество КАК Количество
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
ПО (ВТ.Контрагент = ВТ2.Контрагент)
Работает) только нужно было убрать категорию из вт. спасибо)
(5) Второй вариант. Используем итоги и Заполняем таблицу обходом по группировкам.
На втором проходе мы получаем Контрагента, Категорию, Имя колонки из категории с количеством повторений категорий
На втором проходе мы получаем Контрагента, Категорию, Имя колонки из категории с количеством повторений категорий
ВЫБРАТЬ
т.Контрагент КАК Контрагент,
т.Категория КАК Категория,
1 КАК Количество
ПОМЕСТИТЬ ВТ
ИЗ
&ТЗ КАК т
ИНДЕКСИРОВАТЬ ПО
Контрагент,
Категория
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
ВТ.Категория КАК Категория,
ВТ.Количество КАК Количество
ИЗ
ВТ КАК ВТ
ИТОГИ
СУММА(Количество)
ПО
Контрагент,
Категория
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот