Отбор строк в таблице значений по нескольким колонкам.
Доброго времени суток.
Опишу ситуацию:
Есть таблица на форме. 3 колонки: 1 - Булево, 2 - Ссылка на документ реализация, 3 - Ссылка на документ Корректировка.
Нужно выбрать строки ТЗ где обе колонки с документами заполнены и потом их сравнить заполняя 1ую колонку.
Есть метод "НайтиСтроки(<ПараметрыОтбора>)". Не могу найти пример где отбором можно выбрать строки по условию.
Может есть другой способ выбрать строки с нужным мне условием?
Опишу ситуацию:
Есть таблица на форме. 3 колонки: 1 - Булево, 2 - Ссылка на документ реализация, 3 - Ссылка на документ Корректировка.
Нужно выбрать строки ТЗ где обе колонки с документами заполнены и потом их сравнить заполняя 1ую колонку.
Есть метод "НайтиСтроки(<ПараметрыОтбора>)". Не могу найти пример где отбором можно выбрать строки по условию.
Может есть другой способ выбрать строки с нужным мне условием?
По теме из базы знаний
- Универсальный конструктор отчетов (Новейший отчет) для 1C 7.7
- PowerTools: Инструменты администратора 1С 8.3
- Отборы (поиск) в табличной части либо таблице значений (управляемые формы)
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Переход на Clickhouse для анализа метрик
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
&НаСервере
Процедура ЗаполнитьТаблицу()
Текст =
"ВЫБРАТЬ
| ТЗ.Реализация КАК Реализация,
| ТЗ.Корректировка КАК Корректировка
|ПОМЕСТИТЬ втТЗ
|ИЗ
| &ТЗ КАК ТЗ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втТЗ.Реализация <> ЗНАЧЕНИЕ(Документ.Реализация.ПустаяСсылка)
| И втТЗ.Корректировка <> ЗНАЧЕНИЕ(Документ.Корректировка.ПустаяСсылка) КАК Заполнено,
| втТЗ.Реализация КАК Реализация,
| втТЗ.Корректировка КАК Корректировка
|ИЗ
| втТЗ КАК втТЗ";
Запрос = новый Запрос(Текст);
Запрос.УстановитьПараметр("ТЗ", ТаблицаФормы.Выгрузить());
ТаблицаФормы.Загрузить( Запрос.Выполнить().Выгрузить() );
КонецПроцедуры
Показать
колонки Реализации и Корректировки
вообще-то это разные документы и они ни как не сравниваются
если имеется ввиду Корректировка какой-то реализации, есть реквизит ДокументОснования = Реализация
в этом случае, самое простое, отправить вашу таблицу в запрос и там уже сравните и найдете все что вам надо
вообще-то это разные документы и они ни как не сравниваются
если имеется ввиду Корректировка какой-то реализации, есть реквизит ДокументОснования = Реализация
в этом случае, самое простое, отправить вашу таблицу в запрос и там уже сравните и найдете все что вам надо
Предположу, что повторяющихся реализаций нет.
ВЫБРАТЬ
ВЫБРАТЬ
ТЗ.Реализация КАК Реализация,
ТЗ.Корректировка КАК Корректировка
ПОМЕСТИТЬ втТЗ
ИЗ &ТЗ КАК ТЗ
;
ВЫБРАТЬ
ТЗ.Реализация КАК Реализация,
ТЗ.Корректировка КАК Корректировка,
НЕ Реализации.Ссылка ЕСТЬ NULL И НЕ Корректировки.Ссылка ЕСТЬ NULL КАК Заполнено
ИЗ
втТЗ КАК ТЗ
Левое Соединение Документ.РеализацияТоваровУслуг как Реализации по ТЗ.Реализация=Реализации.Ссылка
Левое Соединение Документ.КорректировкаРеализации как Корректировки по ТЗ.Корректировка=Корректировки.Ссылка
Показать
(20)
ВЫБРАТЬ ПЕРВЫЕ 1
ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг.ПустаяСсылка) КАК Ссылка
ПОМЕСТИТЬ ВТДокументы
ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ НЕОПРЕДЕЛЕНО
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ NULL
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТДокументы.Ссылка КАК Ссылка,
ВТДокументы.Ссылка = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг.ПустаяСсылка) КАК Флаг
ИЗ
ВТДокументы КАК ВТДокументы
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот