Я наверное туплю.. сказываются бессонные ночи. Поправьте меня пожалуйста.

В мане написано вот так:
Код 1c:
ТаблицаЗначений (ValueTable)
Найти (Find)
Синтаксис:
Найти(<Значение>, <Колонки>) 
Параметры:
<Значение> (обязательный)
Тип: Произвольный. Искомое значение. 
<Колонки> (необязательный)

Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится поиск.
Если параметр не указан, поиск осуществляется по всей таблице значений.
Значение по умолчанию: Пустая строка
Возвращаемое значение:
Тип: СтрокаТаблицыЗначений. Строка, в которой содержится искомое значение. Если значение не найдено, то возвращается значение Неопределено.
Описание:
Осуществляет поиск значения в указанных колонках таблицы значений.
Примечание:
Метод эффективно использовать для поиска уникальных значений.
Пример:

Код 1c:
НайденнаяСтрока = ТаблицаЦен.Найти(ВыбТовар, "Товар");
Если НайденнаяСтрока = Неопределено Тогда
    Предупреждение("Товар не найден!");
Иначе
    ЦенаТовара = НайденнаяСтрока.Цена;
КонецЕсли;




Делаю вот так:
Код 1c:
ПроизводственныеЦентры= Новый ТаблицаЗначений;
КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);
 
        ПроизводственныеЦентры.Колонки.Добавить("Цех",ОписаниеТиповС,"Цех");
ПроизводственныеЦентры.Колонки.Добавить("Количество",ОписаниеТиповЧ,"Количество");
 
   Если цСтрока.Флаг="0" тогда
           НазваниеЦеха=цСтрока.Подразделение.Наименование;
       НайденнаяСтрока = ПроизводственныеЦентры.Найти(НазваниеЦеха,"Цех");;
 
      КонецЕсли;

Валится на методе "Найти"

=======================================================


такой код работает, юзай дебагер

Код 1c:
ПроизводственныеЦентры= Новый ТаблицаЗначений;
    КЧ = Новый КвалификаторыЧисла(12,2);
    КС = Новый КвалификаторыСтроки(20);
    Массив = Новый Массив;
    Массив.Добавить(Тип("Строка"));
    ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
    Массив.Очистить();
    Массив.Добавить(Тип("Число"));
    ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);
    ПроизводственныеЦентры.Колонки.Добавить("Цех",ОписаниеТиповС,"Цех");
    ПроизводственныеЦентры.Колонки.Добавить("Количество",ОписаниеТиповЧ,"Количество");
    СтрокаТЗ=ПроизводственныеЦентры.Добавить();
    СтрокаТЗ.Цех="Инна";
    НазваниеЦеха="Инна";
    НайденнаяСтрока = ПроизводственныеЦентры.Найти(НазваниеЦеха,"Цех");
    Если    НайденнаяСтрока<>Неопределено Тогда
        Сообщить(НайденнаяСтрока.Цех);
    КонецЕсли;

====================================================

Код 1c:
Перем Стопер экспорт;
 
Функция ПрочитатьЗначениеСтрокиДерева(пСтрокаДерева)
 
    Если Стопер=1 тогда
        Стопер=0;
        ПроизводственныеЦентры= Новый ТаблицаЗначений;
        КЧ = Новый КвалификаторыЧисла(12,2);
        КС = Новый КвалификаторыСтроки(20);
        Массив = Новый Массив;
        Массив.Добавить(Тип("Строка"));
        ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
        Массив.Очистить();
        Массив.Добавить(Тип("Число"));
        ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);
 
 
        // добавим в таблицу значений три колонки
 
        ПроизводственныеЦентры.Колонки.Добавить("Цех",ОписаниеТиповС,"Цех");
        ПроизводственныеЦентры.Колонки.Добавить("Количество",ОписаниеТиповЧ,"Количество");
   КонецЕсли;
 
   Для Каждого цСтрока Из пСтрокаДерева.Строки Цикл
       Если цСтрока.Флаг="0" тогда
           НазваниеЦеха=цСтрока.Подразделение.Наименование;
           НайденнаяСтрока = ПроизводственныеЦентры.Найти(НазваниеЦеха,"Цех");;
            //  Если НайденнаяСтрока=Неопределено тогда
 
            //    Сообщить("Подразделение "+цСтрока.Подразделение.Наименование+"добавлено");
 
            //    НоваяСтрока = ПроизводственныеЦентры.Добавить();
 
            //    НоваяСтрока.Цех = цСтрока.Подразделение.Наименование;
 
            //    НоваяСтрока.Количество =НоваяСтрока.Количество+1;
 
            //КонецЕсли;
 
      КонецЕсли;
      ПрочитатьЗначениеСтрокиДерева(цСтрока);
   КонецЦикла;
 
КонецФункции
 
Процедура ЗагруженностьНажатие(Элемент)
    // Вставить содержимое обработчика.
 
    ПрочитатьЗначениеСтрокиДерева(Маршрутнаякарта);
КонецПроцедуры
 
Стопер=1;


Маршрутнаякарта -дерево значений. Где каждый узел это имя подразделения и флаг. Является ли это нужной нам операцией

Валится вот так:

Значение не является значением объектного типа (Найти)
НайденнаяСтрока = ПроизводственныеЦентры.Найти(НазваниеЦеха,"Цех");;

========================================================

НазваниеЦеха "Цех 5" строка
НайденнаяСтрока Неопределено

и вот тут падает:

НайденнаяСтрока = ПроизводственныеЦентры.Найти(НазваниеЦеха,"Цех");

==========================================================

При выполнении функции Стопер = 0, поэтому не создается ТЗ ПроизводственныеЦентры и следовательно ошибка.

=======================================================

Ептить.. вы правы. Он когда в рекурсию входит, то создает. а когда на новый круг рекурсии обращается.. то поле получается на заданным.