Каталог решений - Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8

Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8

Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8

В наличии

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

Категория:

Описание

Дано:

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

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


— так не прокатит, в семерке нет понятия «истина».

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

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

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

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

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

P.S.

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

 

Конечно же, я не сам дошел до этого.. Где-то один раз на форумах видел.. по-моему, на мисте. Но больше не встречал нигде.
Решил донести в массы. Надеюсь, что не открыл Америки ))
Не судите строго. За плюсы, если заслужил — «респекты!» 

has been added to your cart:
Оформление заказа