странности или я туканю :)

Новая тема
Показывать по 10 20 40 сообщений
"такой вот код:

Спр.НайтиПоНаименованию("Спр1");
// обработка элемента справочника
Спр.НайтиПоНаименованию("Спр2");
// и вот здесь при обработке все равно стоит "Спр1"

вопрос:
неужели при повторном вызове функции указатель на элемент справочника не перепозиционируется?
или я упускаю какую-то малость?"
"Указатель в справочнике при повторном вызове перепозиционируется
В Вашем случае если "спр2" является началом в "спр1" то из -за
<ФлагПоиска> - необязательный параметр. Число: 1 - найти точное соответствие наименования; 0 - найти наименование по первым символам. Значение по умолчанию - 0.
"
еденичку в параметрах ставлю
все равно не проходит
при этом поиск то идет
в отладчике проверяю = находит
пытаюсь получить доступ к элементу, а это "спр1"... :(
"Попробуйте так:
Спр.НайтиПоНаименованию("Спр2", 0, 1);
<Режим> - необязательный параметр. Число: 1 - поиск внутри установленного подчинения (родителя); 0 - поиск во всем справочнике вне зависимости от родителя. Значение по умолчанию - 1.
"
"еще забавнее :)

примерный код:

спр = создатьобьект("Справочник.Спр");
спр.НайтиПоНаименованию("Спр1",0,1);
// последняя строчка не позиционирует указатель на элемент
// то есть вообще функция не работает

хотя в отладчике строчка вида:
спр.НайтиПоНаименованию("Спр1",0,1)
возвращает 1

вопрос:
есть ли в коде ашипки? :)"
А как вы узнаете, что она не позиционирует, что вы делаете далее с элементом? :)
"получаю элемент

спр.ТекущийЭлемент();

может строчка неправильная
туканю? :)"
"A смысл всего этого великого, искать, что бы показать? :)

Если спр.НайтиПоНаименованию("Спр1",0,1)=1 тогда
спр.ТекущийЭлемент();
иначе
Сообщить("Облом1");
КонецЕсли;
Если спр.НайтиПоНаименованию("Спр2",0,1)=1 тогда
спр.ТекущийЭлемент();
иначе
Сообщить("Облом2");
КонецЕсли;

"
"нуна несколько четко определенных элементов занести в таблицу значений
и дальше с ней работать
одна из колонок в таблице - элемент справочника
присваиваю (хотя лучше "отымать" и "делить" :)

а великое оно не хочет меня слушаться... :(
в итоге получается таблица и в каждой строке один и тот же элемент

в целом код такой:

Спр = создатьобьект("Справочник.Спр");
ТЗ = создатьобьект("ТаблицаЗначений");
ТЗ.НоваяКолонка("СпрСпр", "Справочник.Спр");

Спр.НайтиПоНаименованию("Спр1",0,1);
ТЗ.НоваяСтрока();
ТЗ.СпрСпр = Спр.ТекущийЭлемент();

Спр.НайтиПоНаименованию("Спр2",0,1);
ТЗ.НоваяСтрока();
ТЗ.СпрСпр = Спр.ТекущийЭлемент();

всего нужно три строки в таблице значений
по конкретным элементам в стравочнике
понимаю что можно отобрать по некоему атрибуту
и потом через цикл...
но сейчас нужно просто заставить код работать
и проверить следующий код

З,Ы, компутер наверное не может туканить,
    но кто-то из нас двоих с компом точно туканит..."
все :)
ситуёвина разрешилась
оказывается если в отладчике держать вычисление по этой функции (а может и по какой другой) в табле, то справочник перепозиционируется согласно последней посчитанной функции в этой табле...

только никак не могу понять
кто здесь тукан :(
я или машина?
Читают тему
(гостей: 1)

Быстрый переход