Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 дек 2022, 03:05

Условное оформление

Автор pixel1, 22 окт 2022, 14:13

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

pixel1

Всем добрый день!
У меня есть две табличные части на форме. При нажатии на строку одной производится отбор и выводятся необходимые строки, с помощью процедуры Выбор.
Далее мне нужно эти отобранные строки сравнить между собой. ДАлее я вывожу в каких колонках у меня были различия в поле ввода. Как можно реализовать следующее - Покрасить поля, значения которых отличаются. ну то есть поля отличия двух отобранных строк? Читала про условное оформление, везде примитивные примеры. А примеров таких, чтобы сравнивались отобранные строки по полям на равенство нет. Ну либо я не поняла. Подскажите пожалуйста)

Вот код сравнения:
Процедура СравнитьСтроки(Поле1, Поле2, Поле3, Строка)
МассивКолонок = ВсеРеквизиты.Выгрузить().Колонки;                           
МассивСтрок = ВсеРеквизиты.НайтиСтроки(Новый Структура("НомерСчета,ДатаНачалаДействия,ДатаОкончанияДействия", Поле1, Поле2, Поле3));


КоличествоСтрок = МассивСтрок.Количество();
Если КоличествоСтрок < 2 Тогда
Возврат;
КонецЕсли;
ИндексПоследнейСтроки = КоличествоСтрок - 1;
Для Индекс = 1 По ИндексПоследнейСтроки Цикл                               
Для Каждого Колонка Из МассивКолонок Цикл
Если МассивСтрок[Индекс - 1][Колонка.Имя] <> МассивСтрок[Индекс][Колонка.Имя] Тогда
Строка = Строка + "Отличаются значения в колонке " + Колонка.Имя + Символы.ПС;

КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры

LexaK

pixel1, а практическая ценность этого задания в чем?
(а если у вас в отбор попадет 10 строк и более, представляете какая у вас каша в результате получится?)

профессионалы (на то они и профессионалы, потому что выполняют нужную и полезную работу) такой безсмыслицей не занимаются,
поэтому и подсказать вам что-то, при такой постановке, очень сложно
если помогло нажмите: Спасибо!

pixel1

LexaK, 10 строк попасть сюда не может, там либо одна строка будет, либо 2. Постановка задачи адекватная, как сравнить две строки таблицы значений и покрасить значения, которые отличаются, функцию сравнения написала. Чтобы пользователю этой обработки стало понятно, что нужно ему исправить.
Если вам что-то даст суть задачи, то это часть кода обработки, которая сравнивает план счетов у пользователей с эталоном.

LexaK

условное оформление с отбором (и одновременно с несколькими строками) не работает,

можно использовать такой вариант
сделайте двойной комплект колонок в вашей таблице (получается такая большая ОДНА строка состоящая из двух частей
ваш эталон и пользовательские данные (все в одной строке) (имена колонок с суффиксом такие Аналитика1, Аналитика1_проверка, и т.д.)
вот в рамках одной строки условное оформление как раз и сработает как вам надо
сравниваете по парно колонки ИмяКолонки <> ИмяКолонки_Проверка и красите
если помогло нажмите: Спасибо!

antoneus

Заняться было нечем, реализовал.
Лютый изврат, не повторяйте в домашних условиях.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск