8.х ОБМЕН Перенос из 8.1 в 7.7 по Ole

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем PaPaY, 5 июл 2009.

  1. TopicStarter Overlay
    PaPaY
    Offline

    PaPaY

    Регистрация:
    5 июл 2009
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Подскажите уважаемые ГУРУ, что не так делаю при переносе по OLE из 8.1 в 7.7? Не получается присвоить значение субконто в базе приемнике. В базе источнике плана счетов нет. В приемнике в документе есть поле с наименованием "субконто" с типом значения неопределённый. В базе источнике есть поле "клиент" с типом значения СправочникСсылка
    Для примера, документ расходный кассовый ордер.
    //Подключение из источника (8.1)
    БазаПриемник = Новый COMОбъект("V77.Application");
    Открыта = База7.Initialize(База7.RMTrade,"","NO_SPLASH_SHOW");

    //далее проверка на подключение
    // далее создаются два документа

    РасходныйКассовыйПриемник=БазаПриемник.CreateObject("Документ.РасходныйКассовый");
    СотрудникиПриемник=БазаПриемник.CreateObject("Справочник.Сотрудники");

    //далее создаю новый документ

    РасходныйКассовыйПриемник.Новый();

    //далее передаются значения в соответствующие поля (их пропускаю)
    // далее через функцию сравнения справочников "сотрудники" пытаюсь присвоить соответствующее //значение полю документа приёмника справочника сотрудники приёмника

    РасходныйКассовыйПриемник.Субконто=ОбработкаСотрудников(РасходныйКассовыйИсточник.Клиент);

    //сама функция передающая элемент


    Функция ОбработкаСотрудников(СотрудникиИсточник)
    Если (СотрудникиПриемник.НайтиПоРеквизиту("ИНН",СотрудникиИсточник.ИНН,1)) и (ПустаяСтрока(СотрудникиИсточник.ИНН)=Ложь) Тогда
    Возврат СотрудникиПриемник.ТекущийЭлемент();
    КонецЕсли;
    //как правило сотрудник уже есть в справочнике источнике, если нет создаю новый, этот момент //опускаю. В нашем случае передаётся ТекущийЭлемент найденного сотрудника.
    // В отладчике видны два сомобъекта. Строка проходится без ошибок. Теоретически значение должно //передаваться. На деле пустое значение. И приходится в новом документе вновь выбирать //сотрудника, что неудобно. Подскажите, пжлста, что делаю не так и каким ещё путём можно пойти?
    Пасиба.
  2. sergey
    Offline

    sergey Курильщик

    Регистрация:
    13 апр 2006
    Сообщения:
    365
    Симпатии:
    0
    Баллы:
    26
    вот здесь, где выделено, что такое сотр?
    по тексту не видно
  3. TopicStarter Overlay
    PaPaY
    Offline

    PaPaY

    Регистрация:
    5 июл 2009
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    уже поправил
  4. sergey
    Offline

    sergey Курильщик

    Регистрация:
    13 апр 2006
    Сообщения:
    365
    Симпатии:
    0
    Баллы:
    26
    заработало?)
  5. TopicStarter Overlay
    PaPaY
    Offline

    PaPaY

    Регистрация:
    5 июл 2009
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    нет. конешно )
    В оригинале текста все переменные сокращены, здесь расписал для большей наглядности (одну пропустил расписать).
  6. sergey
    Offline

    sergey Курильщик

    Регистрация:
    13 апр 2006
    Сообщения:
    365
    Симпатии:
    0
    Баллы:
    26
    Впечатление, что ключевая фраза здесь:
    А посему копать сюда:
    Т.е. сначала установить тип реквизита, а потом передавать значение.
  7. TopicStarter Overlay
    PaPaY
    Offline

    PaPaY

    Регистрация:
    5 июл 2009
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Пасиба. Сработало.
    Подскажи, пжлста, как плюсануть? Я здесь новенький ещё не с ориентировался :(

    Уже нашёл.

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