Перевод из Десятичного в Двоичное и обратно При разработке конфигураций, особенно если это обмен с сайтами или старыми системами учета, приходится переводить числа из одной системы исчисления в другую. Ниже примеры кода позволяющие выполнить данные функции перевода Десятичное в Двоичное и Двоичное в Десятичное:
Код 1C v 8.х Функция ДесятичноеВДвоичное(Знач ИсхЧисло) Экспорт
ДвоичныйКод = "";
Пока ИсхЧисло <> 0 Цикл
ДвоичныйКод = "" + ИсхЧисло%2 + ДвоичныйКод ;
ИсхЧисло = Цел(ИсхЧисло/2);
КонецЦикла;
Возврат ДвоичныйКод;
КонецФункции
Функция ДвоичноеВДесятичное(Знач Стр2) Экспорт
Стр = СокрЛП(Стр2);
Рез=0;
Для н=1 по СтрДлина(Стр) Цикл
Рез=Рез*2+Число(Сред(Стр,н,1));
КонецЦикла;
Возврат Рез;
КонецФункции
Категория:
Работа с Числами Как передать файл с сервера на клиент? Код 1C v 8.2 УП &НаСервере
Функция ПолучитьФайл()
Двоичное=Новый ДвоичныеДанные("C:\файл.bmp");
Адрес=ПоместитьВоВременноеХранилище(Двоичное,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес
КонецФункции
&НаКлиенте
Процедура Получить()
Адрес=ПолучитьФайл();
Двоичное=ПолучитьИзВременногоХранилища(Адрес);
КонецПроцедуры
Если же необходимо файл сохранить на Клиенте на диск - тогда так:
Код 1C v 8.2 УП
&НаСервере
Функция ПолучитьФайл()
Двоичное=Новый ДвоичныеДанные("C:\файл.bmp");
Адрес=ПоместитьВоВременноеХранилище(Двоичное,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес
КонецФункции
&НаКлиенте
Процедура Получить()
Адрес=ПолучитьФайл();
Описание=Новый ОписаниеПередаваемогоФайла("C:\FromServer.bmp",Адрес);
МассивОписаний=Новый Массив;
МассивОписаний.Добавить(Описание);
ПолучитьФайлы(МассивОписаний,,,Ложь);
КонецПроцедуры
Категория:
Работа с Файлами и Каталогами