7.7 И опять Номер за пределами значения!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Noyd, 7 июн 2008.

  1. TopicStarter Overlay
    Noyd
    Offline

    Noyd

    Регистрация:
    7 июн 2008
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Стоит задача: Перелить справочники из рабочей конфигурации в пустую базу.
    Для этого я использую внешнюю обработку( Посмотреть вложение 953 ). Выгрузка(как и загрузка) происходит в 2 этапа:1- формирование схемы данных и 2- выгрузка данных. Но при загрузке схемы данных выкакивает ошибка:

    Если гТабСхемыЗагрузки.ПолучитьЗначение(1, "Иден") = "Данные" Тогда
    {D:\СВЕРТКА\MCEXP.ERT(1382)}: Номер за пределами значения!

    Код процедуры загрузки....


    Код:
    Процедура ЗагрузитьСхемуЗагрузки()
    Анализатор = СоздатьОбъект("AddIn.XMLParser");
    ДокСхемы = Анализатор.СоздатьДокумент();
    ДокСхемы.Загрузить(ФормИмяФайлаСхемыЗагрузки);
    
    гТабСхемыЗагрузки.Загрузить(гТабСоСтруктурой);
    
    ВыборкаУзлов = ДокСхемы.ЭлементДокумента.ВыбратьУзлы("ElementType");
    Для Сч = 0 По ВыборкаУзлов.КоличествоУзлов-1 Цикл
    Эл			= ВыборкаУзлов.ПолучитьУзел(Сч);
    Атр			= Эл.ПолучитьУзелАтрибута("name");
    ИмяЭлемента = Атр.Значение;
    
    ТабАтрибутовДляЗагрузки = СоздатьОбъект("ТаблицаЗначений");
    ТабЭлементовДляЗагрузки = СоздатьОбъект("ТаблицаЗначений");
    ТабАтрибутовДляЗагрузки.Загрузить(гТабСоСтруктурой);
    ТабЭлементовДляЗагрузки.Загрузить(гТабСоСтруктурой);
    
    ДобавитьАтрибутыВТаблицу(ТабАтрибутовДляЗагрузки, Эл);
    ДобавитьЭлементыВТаблицу(ТабЭлементовДляЗагрузки, Эл);
    
    гТабСхемыЗагрузки.НоваяСтрока();
    гТабСхемыЗагрузки.Иден = ИмяЭлемента;
    
    гТабСхемыЗагрузки.ТабАтрибутов	  = СоздатьОбъект("ТаблицаЗначений");
    гТабСхемыЗагрузки.ТабЭлСледУровня = СоздатьОбъект("ТаблицаЗначений");
    гТабСхемыЗагрузки.ТабАтрибутов.Загрузить(ТабАтрибутовДляЗагрузки);
    гТабСхемыЗагрузки.ТабЭлСледУровня.Загрузить(ТабЭлементовДляЗагрузки);
    КонецЦикла;
    
    гТабСхемыЗагрузки.НоваяКолонка("Удалить");
    
    ДокСхемы = Анализатор.СоздатьДокумент();
    ДокСхемы.Загрузить(ФормИмяФайлаСхемыЗагрузки);	
    ВыборкаУзлов = ДокСхемы.ЭлементДокумента.ВыбратьУзлы("ElementType");
    Для Сч = 0 По ВыборкаУзлов.КоличествоУзлов-1 Цикл
    Эл			= ВыборкаУзлов.ПолучитьУзел(Сч);
    Атр			= Эл.ПолучитьУзелАтрибута("name");
    ИмяЭлемента = Атр.Значение;
    
    Фл = 0;
    НайтиЗначенияИДобавитьПодч(гТабСхемыЗагрузки, ИмяЭлемента, Эл, Фл, Сч+1);
    
    Если Фл = 1 Тогда
    гТабСхемыЗагрузки.УстановитьЗначение(Сч+1, "Удалить", 1);
    КонецЕсли;		
    КонецЦикла;
    
    НомерСтр = "";
    Пока 1=1 Цикл
    Если гТабСхемыЗагрузки.НайтиЗначение(1, НомерСтр, "Удалить") = 1 Тогда
    гТабСхемыЗагрузки.УдалитьСтроку(НомерСтр);
    НомерСтр = "";
    Иначе 
    Прервать;	    				
    КонецЕсли;
    КонецЦикла;	
    
    гТабСхемыЗагрузки.УдалитьКолонку("Удалить");                  
    
    Если гТабСхемыЗагрузки.ПолучитьЗначение(1, "Иден") = "Данные" Тогда
    Если Вопрос("  Загружаемая схема возможно описывает
    |структуру  метаданных  1С:Предприятия.
    |  Произвести   попытку   автонастройки
    |соответствий элементов/атрибутов схемы
    |объектам текущей конфигурации?", 4)  = 6 Тогда
    НастроитьСхемуЗагрузки();
    Иначе
    ПоказатьТаблицуСхемы();
    КонецЕсли;
    Иначе
    ПоказатьТаблицуСхемы();
    КонецЕсли;
    
    КонецПроцедуры
    

    Пытался вообще убрать эту проверку(Если гТабСхемыЗагрузки.ПолучитьЗначение(1, "Иден") = "Данные" Тогда и оставлял только НастроитьСхемуЗагрузки(); или ПоказатьТаблицуСхемы();)
    . тогда загрузка вообще не выполняется.....

    Вообщем вариантов решения у меня нет...

    Я не силен в 1С поэтому остается надеяться только на помощь ветеранов...

    Вложения:

    • MCExp.ert
      Размер файла:
      291,5 КБ
      Просмотров:
      418
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Перенос справочников уже не раз обсуждался - пользуйтесь поиском.
  3. TopicStarter Overlay
    Noyd
    Offline

    Noyd

    Регистрация:
    7 июн 2008
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Эта обработка может(теоретически) перугружать канстанты и документы..... Подскажи как исправить ошибку....А предоплата- для шабашников....у меня оклад...
  4. eviloid
    Offline

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Обработке нужен Microsoft XML Parser 3.0
    у вас скорее всего 4.0, поэтому
    в консоле:

    regsvr32 /u %WINDIR%\system32\msxml4.dll
    regsvr32 %WINDIR%\system32\msxml3.dll


    когда обработка больше будет не нужна
    возвращаем всё взад:

    regsvr32 /u %WINDIR%\system32\msxml3.dll
    regsvr32 %WINDIR%\system32\msxml4.dll


    :unsure:
  5. Akulina
    Offline

    Akulina Опытный в 1С

    Регистрация:
    30 авг 2007
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    А не проще сделать копию рабочей базы и удалить там все документы и бух.операции? Останутся одни справочники. И ничего не надо перекачивать.
  6. TopicStarter Overlay
    Noyd
    Offline

    Noyd

    Регистрация:
    7 июн 2008
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    К сожалению не проще. Человек который обслуживал базу, был не плохим программистом и творил с ней что хотел,но он плохо представлял себе что такое бухгалтерия и как результат- база изгажена(Испорчен налоговый учет...) Официальные представители 1С не стали за нее браться....
    А проблема решена. Нужен был Microsoft XML Parser 3.0.....Спасибо Evld.

Поделиться этой страницей