Такой вопросик, есть поле табличного документа, я туда вывела информацию(из справочника), нужная мне информация в 2 колонке окрашивается в нужный мне цвет
создала на этой же форме кнопку, которая должна будет у элементов номенклатуры, которые были в поле табличного документа подсвечены (опр цветом) менять родителя на их наименование, то-есть если у меня во-второй колонке есть банк "СберБанк" и он окрашен в красный цвет, то поле родитель должно поменяться на "СберБанк" и при след выводе данное поле будет уже принимать цвет, который задан в коде ранее, для совпадающих наименований 2й колонки и Родителя
не совсем понимаю, как мне по нажатию кнопки получить область с опр окрасной в поле табличного документа и поменять там родителя
---
сравнивайте значения из таблицы, а не параметры с ними (ОбластьПодвал.Параметры.Банк <> эл.Родитель) . сохраните в ТаблицаЗначений НаименованиеРодителя и НаименованиеЭлемента и их сравнивайте. НайтиПоНаименованию - эта часть скорее всего не нужна вообще.
Еще раз - кнопка перезаписывает справочники, а другая процедура - заполняет таб док, вам надо это разделить, и вызывать одно после другого.
---
чувствую есть опять ограничение "не используя запроса" ) можно в цикле по всем элементам проверять

```1c
    Если Элемент.ЭтоГруппа Тогда
    Продолжить;
    КонецЕсли
    Если Элемент.Родитель <> Справочник.Банки.ПустаяСсылка И Элемент.Наименование <> Элемент.Родитель.Наименование Тогда

    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Наименование", Элемент.Наименование);
    ПараметрыОтбора.Вставить("ЭтоГруппа", Элемент.Истина); // предварительно колонки должны быть в таб.

    МассивСтрок = ТаблицаЗначений.НайтиСтроки(ПараметрыОтбора);
    Если МассивСтрок.Количество() = 0 Тогда
    Продолжить;
    Иначе
    СсылкаНаРодителя = МассивСтрок[0].Ссылка; // и это должно быть в таб.
    КонецЕсли;

    //а дальше идёт получить объект и Объект.родитель = СсылкаНаРодителя ; и запись элемента
```

примерно так, часть можно пропустить(напр. условие на "ЭтоГруппа"), некоторые данные неплохо бы заранее в тз иметь, такие как "РодительНаименование"
---
не совсем понятно, что за "родитель" имеется в виду - сразу со скриншотом выставляйте вопрос). Возможно признак цвета стоит хранить в самой ссылке справочника, или таблице, из которой заполняется табдок. Отталкиваться от окрашенной области таб дока, скорее всего, не правильный подход.
---
У меня есть справочник, в справочнике есть 7 Групп, в каждой из груп находится от 2 до 5 элементов, с помощью выборки я вывожу в поле табличного документа в 5 колонок данные, РасчетныйСчет, КПП, ИНН, Банк, Родитель(Родителем я указала саму группу, где хранятся элементы, то-есть, Р/С - "1234567890", ИНН - 3333003333, КПП - 3333003, Банк - "СберБарнк", Родитель "Папка где хранятся эти элементы", но перед выводом в Табличный документ, я изначально проверяю, совпадает-ли у меня Банк с наименованием Родителя, если нет, то окрашиваю в красный цвет, если еще какие-то не совпадения, то окрашиваю в другой цвет, данные выводятся в поле табличного документа, всё отлично, но вот проблема в том, что я создала кнопку, которая должна менять Родителя в тех полях, которые окрашены красным цветом, я не понимаю, как мне сделать так, чтобы по нажатию кнопки проверялось какой цвет у в строке у поля табличного документа и чтобы Родитель менялся на такую же наименование какое имеет Банк
---
кнопкой вы перезаписываете элементы справочника (изменяете им наименование или родителя) ? Если так, то после этого заново сформируйте табдок, если раньше окрашивалось по цветам корректно.
---
Вот часть кода, которая производит проверку и в дальнейшем выводит информацию в Табличный документ с покрасной строки в колонке

```1c
    Для каждого эл из ТаблицаЗначений Цикл
    ОбластьПодвал.Параметры.КПП = эл.КПП;
    ОбластьПодвал.Параметры.ИНН = эл.ИНН;
    ОбластьПодвал.Параметры.Банк = эл.Банк;
    ОбластьПодвал.Параметры.Родитель = эл.Родитель;
    Если ОбластьПодвал.Параметры.Банк <> эл.Родитель и ОбластьПодвал.Параметры.Банк = Справочники.Банки.НайтиПоНаименованию(стр.Банк) Тогда
    ОбластьПодвал.Область(1,2).ЦветФона = WebЦвета.Оранжевый;
```
---
сравнивайте значения из таблицы, а не параметры с ними (ОбластьПодвал.Параметры.Банк <> эл.Родитель) . сохраните в ТаблицаЗначений НаименованиеРодителя и НаименованиеЭлемента и их сравнивайте. НайтиПоНаименованию - эта часть скорее всего не нужна вообще.
Еще раз - кнопка перезаписывает справочники, а другая процедура - заполняет таб док, вам надо это разделить, и вызывать одно после другого.
---
Что-то не совсем понимаю, мне нужно заново формирование табличного документа сделать и после уже проверять всё? мне нужно перезаписать именно родителя, то-есть если у меня Банк "СберБанк" и родитель совсем другой, то нужно сделать так, чтобы родитель стал тоже "СберБарк"
---
Просто я не понимаю ту часть, как мне именно получить уже окрашенные строки по нажатию на кнопку, я же не знаю, в какой области они именно были окрашены, получается опять добавить всё в табличный документ и если поля окрашиваются, то произвожу замену получается
---
Окрасятся они по условию несовпадения наименований (после формирования Табдока), а наименования будут по кнопке меняться - запись элементов спр.
---
Поэтому я изначально и подумала, что нужно просто получить уже окрашенные строки, а после уже перезаписывать
---
извиняюсь за лишние сообщения в теме, поняла как проверить наличие тех и тех данных, вот только теперь не понимаю, как мне у элементов справочника, необходимо сменить родителей на соответствующие им?
---
чувствую есть опять ограничение "не используя запроса" ) можно в цикле по всем элементам проверять

```1c
    Если Элемент.ЭтоГруппа Тогда
    Продолжить;
    КонецЕсли
    Если Элемент.Родитель <> Справочник.Банки.ПустаяСсылка И Элемент.Наименование <> Элемент.Родитель.Наименование Тогда

    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Наименование", Элемент.Наименование);
    ПараметрыОтбора.Вставить("ЭтоГруппа", Элемент.Истина); // предварительно колонки должны быть в таб.

    МассивСтрок = ТаблицаЗначений.НайтиСтроки(ПараметрыОтбора);
    Если МассивСтрок.Количество() = 0 Тогда
    Продолжить;
    Иначе
    СсылкаНаРодителя = МассивСтрок[0].Ссылка; // и это должно быть в таб.
    КонецЕсли;

    //а дальше идёт получить объект и Объект.родитель = СсылкаНаРодителя ; и запись элемента
```

примерно так, часть можно пропустить(напр. условие на "ЭтоГруппа"), некоторые данные неплохо бы заранее в тз иметь, такие как "РодительНаименование"
---
Спасибо большое за помощь, сейчас буду разбираться детальнее, что и куда
---
Вроде-бы поняла, спасибо большое
---
Я тут начала делать и поняла, что скорее всего такой вариант будет не правльный, потому что есть 2 условия, если Банк <> Родитель, окрашиваю в красный цвет и если Банк <> Родитель, и родителя с таким наименованием нет в справочнике, если я сравню все значение в Таблице значений, то у меня тогда все сразу сменятся, но нужно сделать именно сейчас кнопку, которая будет замену производить только тех строк, где банк не совпадает с родителем, а где не совпадает и родителя с таким наименованием нет, то они должны остаться такими же как и были