Версия для печати темы (https://pro1c.org.ua/index.php?s=a04ba37f30fc02775da5ff515b4c10ed&showtopic=5006)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ 1С:Предприятие 7.7 _ Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 77 к 8

Автор: Vofka 09.10.11, 17:09

Как известно, при ОЛЕ обмене доступны только типы СТРОКА, ЧИСЛО, ДАТА. а вот БУЛЕВО(ИСТИНА ЛОЖЬ) использовать при подключении из 77 к 8 не получается. как же быть? есть хитрость, как заиспользовать тип булево в семерке при обмене с 1С8! smile.gif

Дано:

в восьмерке читаем документ "РеализацияТоваровУслуг" у которого есть реквизит "СуммаВключаетНДС" типа булево и нам необходимо превратить его в семерочный СуммаВклНДС тип число (1 или 0)

Если ОбъектРеализацияТоваровУслуг1С8.СуммаВключаетНДС =истина ....

-так не прокатит. в семерке нет понятия "истина".

как выкрутился я:

в 77 завел две переменные

перем ИСТИНА_8

перем ЛОЖЬ_8

ИСТИНА_8=СоединениеСбАЗОЙ8.ЗначениеИзСтрокиВнутр("{""B"",1}")

ЛОЖЬ_8 = СоединениеСбАЗОЙ8.ЗначениеИзСтрокиВнутр("{""B"",0}")


теперь есть булево в 77! теперь можно делать так!

Если ОбъектРеализацияТоваровУслуг1С8.СуммаВключаетНДС =истина_8 тогда
                  документ77.СуммаВклНДС=1;
Иначе
                  документ77.СуммаВклНДС=0
Конецесли;


Если в восьмерке выполнить код "ЗначениеВстрокуВнутр(Истина)" то значение строковое будет={"B",1}".
Аналогично узнаем строковый "аналог" ЛОЖЬ = {"B",0}".
Пользуемся этим в семерке делая обратное преобразование. smile.gif

http://pro1c.org.ua/redirect.php?http://infostart.ru/public/92204/

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua