Добрый день!
Что-то не могу понять, почему так происходит, и как достичь результата, точнее, я догадываюсь, почему так происходит, скорее всего из-за того, что это значение является, как бы ссылкой в табличной части.
Имеется после процедуры выполняемой на СервереБезКонетекста результат
Массив с колонкой Наименование и колонкой готовность проекта. Этот массив был передан на клиент с целью разложить проценты по соответствующим строкам табличной части.
Я писал следующее

```1c
    ОбнЗначГотовностиПроекта = ГотовностьПроекта;
    ДогСсылка = Объект.Ссылка;
    ТабЧастьГотовностьПроекта = неопределено;

    ПриОткрытииНаСервере(ОбнЗначГотовностиПроекта, ДогСсылка, ТабЧастьГотовностьПроекта);
    ГотовностьПроекта = ОбнЗначГотовностиПроекта;
    Для каждого ТекСтр из Объект.Спецификация цикл
    ПолученнаяСтрока = ТабЧастьГотовностьПроекта.Найти(ТекСтр.ПродукцияИлиМатериал);
    А=0;
    КонецЦикла;
```

По сути получается, что я из массива ТабЧастьГотовностьПроекта методом Найти пытаюсь получить наименование из ТекСтр.ПродукцияИлиМатериал. В массиве это наименование имеет такой же тип и наименование, но не возвращает мне значение, как я понимаю индекс.
Подскажите, что не так? и если этот вариант не может быть использован, что можно использовать вместо этого?
Спасибо.
---
Пока, как временное решение написал такой код, он конечно плохой несомненно, но хотя бы работает, как мне нужно, и позволяет еще дополнительно наложить эффекты на ячейки при необходимости.
Код

```1c
    Процедура ПриОткрытии(Отказ)
    ОбнЗначГотовностиПроекта = ГотовностьПроекта;
    ДогСсылка = Объект.Ссылка;
    ТабЧастьГотовностьПроекта = неопределено;

    ПриОткрытииНаСервере(ОбнЗначГотовностиПроекта, ДогСсылка, ТабЧастьГотовностьПроекта);
    ГотовностьПроекта = ОбнЗначГотовностиПроекта;
    Для каждого ТекСтр из Объект.Спецификация цикл
    Для каждого ТекСтрМассива из ТабЧастьГотовностьПроекта цикл
    Если ТекСтр.ПродукцияИлиМатериал = ТекСтрМассива.Наименование тогда
    ТекСтр.ПроцентВыполнения = ТекСтрМассива.ПроцентГотовности
    КонецЕсли;
    КонецЦикла;

    //ПолученнаяСтрока = ТабЧастьГотовностьПроекта.Найти(Строка(ТекСтр.ПродукцияИлиМатериал));
    А=0;
    КонецЦикла;
    КонецПроцедуры
```
---
нет, не индекс, а найденную строку. К реквизитам строки обращайся через точку например: ПолученнаяСтрока.Наименование
---
Если я правильно понимаю что написал автор, ТабЧастьГотовностьПроекта это массив?
---
У массива не может быть колонок. Предположу, что массивом вы называете таблицу значений. Тогда "ПолученнаяСтрока" - это ссылка на найденную строку таблицы значений. А дальше я не очень понял, что вы хотите. Если получить значение колонки "ГотовностьПроекта", тогда просто обращаетесь через точку:

```1c
    А = ПолученнаяСтрока.ГотовностьПроекта;
```
---
Массивом я назвал массив. Тут путаницы нет. Вопрос такой, а таблицу значений я на клиент передать могу? Вроде, как нет. Получается выход либо временное хранилище, с которым я еще никогда не сталкивался, либо этот колхоз, который нагородил выше.
---
Массивом я назвал массив. Тут путаницы нет.
Вот как нет путаницы, если сразу же в (0) указали: "Массив с колонкой Наименование и колонкой готовность проекта. ".
Вот после этого у всех сработал инстинкт, что путаница в начале и ничего хорошего не ожидать.
Попробуйте сформулировать свой вопрос правильно и подробно.
---
если я правильно понимаю, то нет смысла тратить время на автора.
в стартовом сообщении бессвязный набор фраз.
---
Получается, что вы не только не правильно понимаете, но и не хотите вчитываться. Я все подробно изложил, и к тому же в тексте кода не абы что.
---
я не вчитываюсь в наскальные рисунки,
а фантазирую о чем думали, мечтали, чем жили люди которые их начертили.

такое познание природы мне привили еще в средней школе.
---
Я все понял
---
Пока, как временное решение написал такой код, он конечно плохой несомненно, но хотя бы работает, как мне нужно, и позволяет еще дополнительно наложить эффекты на ячейки при необходимости.
Код

```1c
    Процедура ПриОткрытии(Отказ)
    ОбнЗначГотовностиПроекта = ГотовностьПроекта;
    ДогСсылка = Объект.Ссылка;
    ТабЧастьГотовностьПроекта = неопределено;

    ПриОткрытииНаСервере(ОбнЗначГотовностиПроекта, ДогСсылка, ТабЧастьГотовностьПроекта);
    ГотовностьПроекта = ОбнЗначГотовностиПроекта;
    Для каждого ТекСтр из Объект.Спецификация цикл
    Для каждого ТекСтрМассива из ТабЧастьГотовностьПроекта цикл
    Если ТекСтр.ПродукцияИлиМатериал = ТекСтрМассива.Наименование тогда
    ТекСтр.ПроцентВыполнения = ТекСтрМассива.ПроцентГотовности
    КонецЕсли;
    КонецЦикла;

    //ПолученнаяСтрока = ТабЧастьГотовностьПроекта.Найти(Строка(ТекСтр.ПродукцияИлиМатериал));
    А=0;
    КонецЦикла;
    КонецПроцедуры
```
---
эффекты, вроде, квантовые.
я увидел в вашем коде зевающего кота Щредингёра.
---
Ну так если зевающий, напишите не зевающий. Я же написал в верху, код плохой, но он хотя бы работает. А здесь пока ни от кого я не получил идеи, как сделать. У меня есть еще идея, но боюсь, что это может вызвать блокировки.
---
среди специалистов 1С трусов нет.
просто всех кто проявляет сомнения и слабость при написании кода - сразу отправляют на свободную кассу.
---
Для того чтобы получить идею, нужно задать нормально вопрос и ответить на уточняющие вопросы. Зачем называть переменную ТабЧасть если это массив? Найти() по массиву возвращает индекс.
---
А я не могу переменную так назвать?
---
Можете называть как угодно, но это очень затрудняет понимание, когда Вы задаете вопрос. Когда в коде написано, например ТЗКонтрагенты, а на самом деле это массив или выборка это не есть хорошо.
---
Я понял. Все это я делаю для собственной конфигурации, поэтому особое внимание на правильность и на логичность в названиях не обращаю внимание. Опыта в программировании очень мало. Со временем конечно и к этому вопросу подойду, либо найду, либо напишу регламент ведения разработок и буду следовать ему. А так в целом, что можете сказать по поводу кода, который я в виде временного решения написал? Обход каждой записи табличной части и в рамках каждой этой записи еще и обходить методом сравнения в массиве?