Сравнение данных в разных колонках регистра
Как сравнить в таблице данные в разных колонках. В рис это регистр сведений. Надо получить с первой колонки идентификатор со второго и третьего код.
Обращаюсь запросом в регистр потом условие как правильно написать.
Если выборка.Спр1 = Выборка.Спр2 что вернет Будет искать по конкретным колонкам.
Обращаюсь запросом в регистр потом условие как правильно написать.
Если выборка.Спр1 = Выборка.Спр2 что вернет Будет искать по конкретным колонкам.
Прикрепленные файлы:
По теме из базы знаний
- Выгрузка-загрузка любых данных (и измененных) между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2
- RabbitMQ + Конвертация Данных 3.0
- Универсальные инструменты 1С
- Конструктор сравнения таблиц значения, в том числе из внешней базы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)Запрос.Текст = "ВЫБРАТЬ
|
регистрСведений.Измерения1.Наименование Как Наименование1,
| РегистрСведений.Измерения2.Наименование как Наименование2,
| РегистрСведений.Измерения3.Наименование как Наименование3
|ИЗ
| РегистрСведений.Имя КАК РегистрСведений" ;
ВыборкаИзРегистра = Запрос.Выполнить().Выбрать();
Пока ВыборкаИзРегистра.Следующий() Цикл
Если ВыборкаИзРегистра.Наименование1 = ВыборкаИзРегистра.Наименование2 или ВыборкаИзРегистра.Наименование1 = ВыборкаИзРегистра.Наименование3 тогда
СсылкаНоменклатуры= Справочники.Номенклатура.НайтиПоНаименованию(ВыборкаИзРегистра.Наименование1);
ИдНоменклатуры = СсылкаНоменклатуры.УникальныйИдентификатор();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| НоменклатураСайта.Родитель,
| НоменклатураСайта.Код,
| НоменклатураСайта.Наименование
|ИЗ
| Справочник.НоменклатураСайта КАК НоменклатураСайта
|ГДЕ
| НоменклатураСайта.Наименование = &Наименование";
Запрос.УстановитьПараметр("Наименование",ВыборкаИзРегистра.Наименование1);
ВыборкаСпрСайта = Запрос.Выполнить().Выбрать();
Пока ВыборкаСпрСайта.Следующий() цикл
Если ВыборкаСпрСайта.Родитель.Код = "БлаБла" тогда
КодБлаБла = ВыборкаСпрСайта.код;
ИначеЕсли
ВыборкаСпрСайта.родитель.Код = "БлаБлаБла" тогда
КодБлаБлаБла = ВыборкаСпрСайта.код;
КонецЕсли;
|
регистрСведений.Измерения1.Наименование Как Наименование1,
| РегистрСведений.Измерения2.Наименование как Наименование2,
| РегистрСведений.Измерения3.Наименование как Наименование3
|ИЗ
| РегистрСведений.Имя КАК РегистрСведений" ;
ВыборкаИзРегистра = Запрос.Выполнить().Выбрать();
Пока ВыборкаИзРегистра.Следующий() Цикл
Если ВыборкаИзРегистра.Наименование1 = ВыборкаИзРегистра.Наименование2 или ВыборкаИзРегистра.Наименование1 = ВыборкаИзРегистра.Наименование3 тогда
СсылкаНоменклатуры= Справочники.Номенклатура.НайтиПоНаименованию(ВыборкаИзРегистра.Наименование1);
ИдНоменклатуры = СсылкаНоменклатуры.УникальныйИдентификатор();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| НоменклатураСайта.Родитель,
| НоменклатураСайта.Код,
| НоменклатураСайта.Наименование
|ИЗ
| Справочник.НоменклатураСайта КАК НоменклатураСайта
|ГДЕ
| НоменклатураСайта.Наименование = &Наименование";
Запрос.УстановитьПараметр("Наименование",ВыборкаИзРегистра.Наименование1);
ВыборкаСпрСайта = Запрос.Выполнить().Выбрать();
Пока ВыборкаСпрСайта.Следующий() цикл
Если ВыборкаСпрСайта.Родитель.Код = "БлаБла" тогда
КодБлаБла = ВыборкаСпрСайта.код;
ИначеЕсли
ВыборкаСпрСайта.родитель.Код = "БлаБлаБла" тогда
КодБлаБлаБла = ВыборкаСпрСайта.код;
КонецЕсли;
Запрос.Текст = "ВЫБРАТЬ
|регистрСведений.Измерения1.Наименование Как Наименование1,
| РегистрСведений.Измерения2.Наименование как Наименование2,
| РегистрСведений.Измерения3.Наименование как Наименование3
|ИЗ
| РегистрСведений.Имя КАК РегистрСведений
| ГДЕ регистрСведений.Измерения1.Наименование = РегистрСведений.Измерения2.Наименование
Вернет одинаковые строки
| ГДЕ НЕ регистрСведений.Измерения1.Наименование = РегистрСведений.Измерения2.Наименование
Вернет строки где названия отличаются.
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Выборка.Наименование1 КАК Наименование1
|ИЗ
| (ВЫБРАТЬ
| РегистрСведений11.Измерение1.Наименование КАК Наименование1
| ИЗ
| РегистрСведений.Имя КАК РегистрСведений11
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Имя КАК РегистрСведений12
| ПО РегистрСведений11.Измерение1.Наименование = РегистрСведений12.Измерение2.Наименование
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РегистрСведений21.Измерение1.Наименование
| ИЗ
| РегистрСведений.Имя КАК РегистрСведений21
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Имя КАК РегистрСведений23
| ПО РегистрСведений21.Измерение1.Наименование = РегистрСведений23.Измерение3.Наименование) КАК Выборка"
ПоказатьВернет наименования из Измерение1 (без повторений) по всем строкам, где его наименование совпадает с наименованием из Измерение2 или Измерение3
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот