Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Перебор подчиненного справочника - ошибка , то же самое через отладчик – все нормально          
chukhin Подменю пользователя
сообщение 15.02.12, 14:09
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 31
Из: Днепропетровск
Спасибо сказали: 2 раз
Рейтинг: 0

1С 7.7 для SQL - Комлексная для Украины

Такой прикол:
Идет перебор подчиненного справочника и на второй строке обработка вываливается с ошибкой, типа не могу спозиционироваться на элементе справочника (Не выбран элемент).
При этом если то же самое делать через отладчик и останавливаться на каждой итерации цикла, а потом продолжать – то все нормально.
Кто что подскажет?

Код:
    спрОК.ИспользоватьВладельца(текАвтоМ);//тек. элемент Справочника-Владельца
    спрОК.ВключатьПодчиненные(1);
    ЕстьВыборка = спрОК.ВыбратьЭлементы();

    Если ЕстьВыборка = 0 Тогда //нет подчиненных элементов - ТУТ ВСЕ НОРМАЛЬНО
        //новый подчиненный справочник ОК
        спрОК.Новый();
        спрОК.Код = КодОК; //из ДБФ
        спрОК.Записать();
        //запись Справочника-Владельца
        спрАвтоМ.Записать();
    ИначеЕсли ЕстьВыборка = 1 Тогда //уже есть подчиненные элементы - А ВОТ ЗДЕСЬ ПРОБЛЕМА
        Пока спрОК.ПолучитьЭлемент(1) = 1 Цикл //ОШИБКА - НЕ ВЫБРАН ЭЛЕМЕНТ!
          текОК = спрОК.ТекущийЭлемент();
          спрОК.НайтиЭлемент(текОК);
          Если спрОК.Код <> КодОК Тогда
           спрОК.Новый();
           спрОК.Код = КодОК;
           спрОК.Записать();
           //запись Справочника-Владельца
           спрАвтоМ.Записать();
          КонецЕсли;
         КонецЦикла;
    КонецЕсли;


Signature
1С 7.7 Комплексная конфигурация для Украины

Домовик Подменю пользователя
сообщение 15.02.12, 14:41
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Непонятка у вас действительно с позиционированием:

         текОК = спрОК.ТекущийЭлемент();    //??????
          спрОК.НайтиЭлемент(текОК)                // ????? зачем



          Если спрОК.Код <> КодОК Тогда
           спрОК.Новый();
           спрОК.Код = КодОК;
           спрОК.Записать();
           спрАвтоМ.Записать();
в чем задача состоит? не понятно.

почему в выборке, по которой скачете, создаете новые элементы, но переменная выделена та же - спрОК?

Почему в создаваемых элементах справочника коду присваивается одно и то же значение?

Сообщение отредактировал Домовик - 15.02.12, 15:59

Спасибо сказали: chukhin,

Voha74 Подменю пользователя
сообщение 15.02.12, 17:02
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 92
Из: Киев
Спасибо сказали: 110 раз
Рейтинг: 0

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

chukhin Подменю пользователя
сообщение 15.02.12, 18:07
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 31
Из: Днепропетровск
Спасибо сказали: 2 раз
Рейтинг: 0

На ру-борде:

[q]
Код:
спрОК.НайтиЭлемент(текОК);

И выборка слетела. (при создании нового элемента случиться тоже самое)
Варианты: создать еще одну ссылку на справочник и  

новСпрОк.НайтиЭлемент(текОК); 
Если новСпрОк.Код <> КодОК Тогда
     новСпрОк.Код = КодОК;  
     новСпрОк.Записать();  
 
[/q]

А вот это сработало, СПС! :up:

Правда, непонятно остается, почему в отладчике такой проблемы не возикало :?
Он сам, что ли, создавал новый объект спрОК...
Прикольно)
______________________

Похоже, то, о чем писала Домовик:
Цитата
почему в выборке, по которой скачете, создаете новые элементы, но переменная выделена та же - спрОК?


Signature
1С 7.7 Комплексная конфигурация для Украины

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 22.05.24, 6:38
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!