8.х ОБМЕН ComConnect -Не получается записать в табличную часть документа

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем andrew76, 22 окт 2015.

  1. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Добрый вечер !

    Имеются 2 конфигурации - на платформе 1С 8.2 и 1С 7.7.
    Задачка состоит в следующем : нужно из 1с 7 заполнить данными определенный документ-ВыслугаЛет,который
    создан в версии 1С 8.2.С реквизитами шапки документа всё работает отлично,а вот в табличную часть
    записать не получается - вылетает следующая ошибка "Неверное число параметров".
    Ошибка в строке с кодом :
    ДокОбъект.Список(Сч).Лет=10;


    Коннектор=СоздатьОбъект("V82.COMConnector");

    v8 =Коннектор.Connect("File=""C:\11n""; Usr =""Админ"";");

    Эл=v8.Документы.ВыслугаЛет.Выбрать(Дата('01.10.15') , Дата('31.10.15'));


    Пока Эл.Следующий()<>0 Цикл
    ДокОбъект = Эл.ПолучитьОбъект();
    СтаршийИндекс = Эл.Список.Количество() - 1;

    Для Сч = 0 по СтаршийИндекс Цикл
    СтрокаДок= Эл.Список.Получить(Сч);
    таб = СтрокаДок.ТабНомер;
    Лет_ = СтрокаДок.Лет;

    Если СокрЛП(таб)="5403" тогда
    ДокОбъект.Список(Сч).Лет=10;
    КонецЕсли;
    КонецЦикла;

    КонецЦикла;
  2. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Формат даты не верен, см. СП : ("ГГГГММДДччммсс") или (ГГГГ,ММ,ДД,чч,мм,сс)
  3. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Нет,дело в том что ошибка идет в строке с кодом : ДокОбъект.Список(Сч).Лет=10;
    1C 7.7 не воспринимает квадратные скобки-при обращении к табл.части документа в 1с8.2 нужны квадратные.Т.е я по идее должен писать следующее:
    ДокОбъект.Список[Сч].Лет=10; но 1c7 эту строку компилировать отказывается! Поэтому не могу ничего записать в табличную часть документа.
    --- Объединение сообщений, 22 окт 2015 ---
    Нет,дело в том что ошибка идет в строке с кодом : ДокОбъект.Список(Сч).Лет=10;
    1C 7.7 не воспринимает квадратные скобки-при обращении к табл.части документа в 1с8.2 нужны квадратные.Т.е я по идее должен писать следующее:
    ДокОбъект.Список[Сч].Лет=10; но 1c7 эту строку компилировать отказывается! Поэтому не могу ничего записать в табличную часть документа.
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Зачем нужно ДокОбъект.Список[Сч].Лет=10;?
    У вас уже есть строка табличной части (СтрокаДок).

    СтрокаДок.Лет = 10;
  5. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Попробуй :
    Код:
    ДокОбъект.Список(Сч).Лет = 10;
    
    Коннектор = СоздатьОбъект("V82.COMConnector");
    
    v8 = Коннектор.Connect("File=""C:\11n""; Usr =""Админ"";");
    
    Эл = v8.Документы.ВыслугаЛет.Выбрать(Дата('01.10.15') , Дата('31.10.15'));
    
    Пока Эл.Следующий() <> 0 Цикл
      
        ДокОбъект = Эл.ПолучитьОбъект();
      
        ТаблицаОбъекта = Эл.Список.Выгрузить();
      
        СтаршийИндекс = ТаблицаОбъекта.Количество() - 1;
      
        Для Сч = 0 По СтаршийИндекс Цикл
          
            СтрокаДок = ТаблицаОбъекта.Получить(Сч);
            таб  = СтрокаДок.ТабНомер;
            Лет_ = СтрокаДок.Лет;
          
            Если СокрЛП(таб) = "5403" Тогда
                СтрокаДок.Лет = 10;
            КонецЕсли;
          
        КонецЦикла;
      
        Эл.Список.Загрузить(ТаблицаОбъекта );
      
    КонецЦикла;
    
  6. TopicStarter Overlay
    andrew76
    Offline

    andrew76

    Регистрация:
    22 янв 2007
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое ! Всё работает.

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