7.7 Как передать значение перечисления по ОЛЕ!

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

  1. TopicStarter Overlay
    axell
    Offline

    axell

    Регистрация:
    30 авг 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Ребята не пинайте, помогите, туплю. Делаю загрузку в 7.7 из 8.0
    В УПП есть документ ПередачаМатериаловВЭксплуатацию, в нем есть загадочное поле НазначениеИспользования, тип данных этого поля СправочникСсылка.НазначенияИспользования, так вот в нем есть поле СпособПогашенияСтоимости, тип данных этого поля ПеречислениеСсылка.СпособыПогашенияСтоимости.
    Ребята специалисты помогите пожалуйста передать по ОЛЕ значение перечисления для номенклатуры.
    Код:
    ПоступлениеМенеджер = УПП.Документы.ПередачаМатериаловВЭксплуатацию; 
    ПоступлениеВыборка = ПоступлениеМенеджер.Выбрать(НачДата, КонДатаСтр);
    ВГраница = ПоступлениеВыборка.Материалы.Количество();
    Для Сч=0 По ВГраница-1 Цикл
    СтрТЧМат = ПоступлениеВыборка.Материалы.Получить(Сч);
    ........
    СтрТЧМат.Номенклатура.НазначениеИспользования.СпособПогашенияСтоимости = OLE
    
    
    Заранее всем большое спасибо!!! :unsure: B) :D
  2. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    По OLE передать значение нельзя. Можно сравнить значения OLE = OLE, но писать Значениеперечисления = OLE - не получится. Только через ХЗ можно так сделать...
  3. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Через OLE нельзя передавать данные внутренних типов 1С, но можно передвать числовые, текстовый, дата. Попробуй через OLE прочитать текстовый идентификатор перечисления и с ним работай.
  4. TopicStarter Overlay
    axell
    Offline

    axell

    Регистрация:
    30 авг 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Вот в том то и дело что по ОЛЕ не могу никак достучаться до текстового идентификатора.
  5. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Не знаю, как в 7.7., а в 8.0:
    Код:
    Соединение.String(Значение)
    
    дает текстовое представление
  6. TopicStarter Overlay
    axell
    Offline

    axell

    Регистрация:
    30 авг 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    это понятно, ну я спрашивал как само значение по ОЛЕ получить, вот кодик и получает значение перечесления и ttt уже это значение возвращает в строке
    Индекс = УПП.Перечисления.СпособыПогашенияСтоимости.Индекс(СтрТЧМат.НазначениеИспользования.СпособПогашенияСтоимости);
    ttt = УПП.Метаданные.Перечисления.СпособыПогашенияСтоимости.ЗначенияПеречисления.Получить(Индекс).Имя;
  7. YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Спасибо. Помогли решить мою задачу. ВнешняяИБ.String(СтрТов.СтавкаНДС) - то, что надо.

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