Публикации

БСП
Разработки

Найдено результатов: 76


Формат изображения (уменьшить,обрезать,масштабировать,сжать)

Формат изображения (уменьшить,обрезать,масштабировать,сжать)
Артур 33 4
&НаКлиенте
Процедура сжатьФото(Фото)
	МаксимальнаяШирина	= 700; 
	МаксимальнаяВысота	= 400;
			
	ОбрезкаЛ	=  200;
	ОбрезкаВ	=  0;
	ОбрезкаП	=  200;
	ОбрезкаН	=  0;
	
    // Создаем объект
    ФайлКартинка = Новый COMОбъект("WIA.ImageFile");
    ФайлКартинка.LoadFile(Фото);

    //Сообщить("Картинка: " + Картинка.Имя);
    //Сообщить("    Расширение файла: " + ФайлКартинка.FileExtension);
    //Сообщить("    Ширина: " + ФайлКартинка.Width);
    //Сообщить("    Высота: " + ФайлКартинка.Height);
    //Сообщить("    Размер: " + Окр(ФайлКартинка.FileData.Count / 1024, 2) + " Кб");
        
    ФайлПрогресс = Новый COMОбъект("WIA.ImageProcess"); ///ФайлПрогресс.Filters - список Фильтров, всего 8
		
    ФайлПрогресс.Filters.Add(ФайлПрогресс.FilterInfos("Scale").FilterID);    ///масштабирование  
    ФайлПрогресс.Filters.Add(ФайлПрогресс.FilterInfos("Crop").FilterID);     ///Обрезка
	ФайлПрогресс.Filters.Add(ФайлПрогресс.FilterInfos("Convert").FilterID);  ///Конвертация (Сжатия)
		
	ФайлПрогресс.Filters(1).Properties("MaximumWidth").Value  = МаксимальнаяШирина;        
	ФайлПрогресс.Filters(1).Properties("MaximumHeight").Value = МаксимальнаяВысота;	    
	ФайлПрогресс.Filters(1).Properties("PreserveAspectRatio").Value = Ложь;  ///Сохранять пропорции (По умолчанию было истина - сбивает разрешения высоту и ширину)
	
	//Форматы преобразований имееют следующий формат:
	///wiaFormatBMP    = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}";      ///  .BMP
	wiaFormatJPEG   = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}";         ///  .JPEG

	ФайлПрогресс.Filters(3).Properties("FormatID").Value = wiaFormatJPEG;
	ФайлПрогресс.Filters(3).Properties("Quality").Value = 50;          ///Качество фотографии  (от 1 - 100); 100 =60КБ  50 = 8КБ

	///Обрезка
	ФайлПрогресс.Filters(2).Properties("Left").Value   =  ОбрезкаЛ;       /// лево;    
	ФайлПрогресс.Filters(2).Properties("Top").Value    =  ОбрезкаВ;       /// верх;     
	ФайлПрогресс.Filters(2).Properties("Right").Value  =  ОбрезкаП;       /// право;    
	ФайлПрогресс.Filters(2).Properties("Bottom").Value =  ОбрезкаН;	      /// низ;      
	
	///Применить фильтры к фотографии
    ФайлКартинка = ФайлПрогресс.Apply(ФайлКартинка);

	///Удалить старое фото и создать новое
	УдалитьФайлы(фото);
    ФайлКартинка.SaveFile(фото);
	
	
	//Сообщить("    Расширение файла: " + ФайлКартинка.FileExtension);
	//Сообщить("    Ширина: " + ФайлКартинка.Width);
	//Сообщить("    Высота: " + ФайлКартинка.Height);
	//Сообщить("    Размер: " + Окр(ФайлКартинка.FileData.Count / 1024, 2) + " Кб");
КонецПроцедуры

Преобразовать адрес формата XML контактной информации в структуру старого формата

Автор: HostHost

FastCode 9 1
СтруктураАдреса = ЗарплатаКадры.СтруктураАдресаИзXML(Адрес,

ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации"));

Адрес = СтруктураАдреса.Представление;

Язык выражений СКД Формат()

Коллеги, подскажите пожалуйста, почему не отрабатывает Формат()? 2020-05-24_16-26-07.jpg Читать дальше
SDV 26 5

Конвертация даты из формата ISO8601 в дату 1С с учетом миллисекунд

Возвращает структуру с полями "Дата" и "Миллисекунды", стандартный способ преобразования даты округляет время, а в некоторых случаях важна особая точность
Функция КонвертироватьДатуISO8601ВДату(Дата) Экспорт

	КонвертированнаяДата = Новый Структура("Дата, Миллисекунды");
	
	АвтоконвертированнаяДата = XMLЗначение(Тип("Дата"), Дата);

	Миллисекунды = Сред(Дата, 21);
	Миллисекунды = СокрЛП(СтрЗаменить(Миллисекунды, "Z", ""));

	Если НЕ ПустаяСтрока(Миллисекунды) Тогда
		
		ЧислоМиллисекунд = Число(Миллисекунды);
		
		Если ЧислоМиллисекунд >= 500 Тогда
			
			АвтоконвертированнаяДата = АвтоконвертированнаяДата - 1;
			
		КонецЕсли;
		
	КонецЕсли;
	
	КонвертированнаяДата.Дата = АвтоконвертированнаяДата;
	
	КонвертированнаяДата.Миллисекунды = Миллисекунды;
	
	Возврат КонвертированнаяДата;

КонецФункции 

ДанныеОбновленияПоляИзображения

ОбщийМодуль.РаботаСФайламиСлужебныйВызовСервера
Автор: 1С
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////


Функция ДанныеОбновленияПоляИзображения(ФайлСсылка, ПараметрыПолученияДанных) Экспорт
	
	ДанныеФайла = ?(ЗначениеЗаполнено(ФайлСсылка), ПолучитьДанныеФайла(ФайлСсылка, ПараметрыПолученияДанных), Неопределено);
	
	ДанныеОбновления = Новый Структура;
	ДанныеОбновления.Вставить("ДанныеФайла",   ДанныеФайла);
	ДанныеОбновления.Вставить("ЦветТекста",    ЦветаСтиля.ЦветТекстаНевыбраннойКартинки);
	ДанныеОбновления.Вставить("ФайлПоврежден", Ложь);
	
	Если ДанныеФайла <> Неопределено
		И ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла) = Неопределено Тогда
		
		ДанныеОбновления.ФайлПоврежден = Истина;
		ДанныеОбновления.ЦветТекста    = ЦветаСтиля.ПоясняющийОшибкуТекст;
		
	КонецЕсли;
	
	Возврат ДанныеОбновления;
	
КонецФункции

ПараметрыДобавленияИзображения

ОбщийМодуль.РаботаСФайламиСлужебныйВызовСервера
Автор: 1С
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////


Функция ПараметрыДобавленияИзображения(ВладелецФайлов) Экспорт
	
	ПараметрыДобавления = Новый Структура;
	ПараметрыДобавления.Вставить("ПравоДобавления", ЕстьПравоДоступа("Добавление", ВладелецФайлов));
	ПараметрыДобавления.Вставить("ФайлыВладельца" , КоличествоПрисоединенныхФайлов(ВладелецФайлов, Истина));
	
	Возврат ПараметрыДобавления;
	
КонецФункции

ПрочитатьXMLВТаблицу

Преобразует текст формата XML в таблицу значений, при этом колонки таблицы формируются на основе описания в XML.
XML
6 bolsun 30 4
// Преобразует текст формата XML в таблицу значений,
// при этом колонки таблицы формируются на основе описания в XML.
//
// Параметры:
//  ТекстXML     - текст в формате XML.
//
// Схема XML:
//<?xml version="1.0" encoding="utf-8"?>
//<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
//  <xs:element name="Items">
//	<xs:complexType>
//	  <xs:sequence>
//		<xs:element maxOccurs="unbounded" name="Item">
//		  <xs:complexType>
//			<xs:attribute name="Code" type="xs:integer" use="required" />
//			<xs:attribute name="Name" type="xs:string" use="required" />
//			<xs:attribute name="Socr" type="xs:string" use="required" />
//			<xs:attribute name="Index" type="xs:string" use="required" />
//		  </xs:complexType>
//		</xs:element>
//	  </xs:sequence>
//	  <xs:attribute name="Description" type="xs:string" use="required" />
//	  <xs:attribute name="Columns" type="xs:string" use="required" />
//	</xs:complexType>
//  </xs:element>
//</xs:schema>
//
// Примеры XML-файлов см. в демонстрационной конфигурации.
// 
// Пример использования:
//   КлассификаторТаблица = ПрочитатьXMLВТаблицу(РегистрыСведений.АдресныйКлассификатор.
//       ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст());
//
// Возвращаемое значение:
//  ТаблицаЗначений.
//
Функция ПрочитатьXMLВТаблицу(ТекстXML) Экспорт
	
	Чтение = Новый ЧтениеXML;
	Чтение.УстановитьСтроку(ТекстXML);
	
	// Прочитаем первый узел и проверим его
	Если Не Чтение.Прочитать() Тогда
		ВызватьИсключение("Пустой XML");
	ИначеЕсли Чтение.Имя <> "Items" Тогда
		ВызватьИсключение("Ошибка в структуре XML");
	КонецЕсли;
	
	// Получим описание таблицы и создадим ее
	ИмяТаблицы = Чтение.ПолучитьАтрибут("Description");
	ИменаКолонок = СтрЗаменить(Чтение.ПолучитьАтрибут("Columns"), ",", Символы.ПС);
	Колонок = СтрЧислоСтрок(ИменаКолонок);
	
	ТаблицаЗначений = Новый ТаблицаЗначений;
	Для Сч = 1 По Колонок Цикл
		ТаблицаЗначений.Колонки.Добавить(СтрПолучитьСтроку(ИменаКолонок, Сч), Новый ОписаниеТипов("Строка"));
	КонецЦикла;
	
	// Заполним значения в таблице
	Пока Чтение.Прочитать() Цикл
		
		Если Чтение.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
			Продолжить;
		ИначеЕсли Чтение.Имя <> "Item" Тогда
			ВызватьИсключение("Ошибка в структуре XML");
		КонецЕсли;
		
		новСтр = ТаблицаЗначений.Добавить();
		Для Сч = 1 По Колонок Цикл
			ИмяКолонки = СтрПолучитьСтроку(ИменаКолонок, Сч);
			новСтр[Сч-1] = Чтение.ПолучитьАтрибут(ИмяКолонки);
		КонецЦикла;
		
	КонецЦикла;
	
	// Заполним результат
	Результат = Новый Структура;
	Результат.Вставить("ИмяТаблицы", ИмяТаблицы);
	Результат.Вставить("Данные", ТаблицаЗначений);
	
	Возврат Результат;
	
КонецФункции // ПрочитатьXMLВТаблицу()

ФорматНеПоддерживается

ОбщийМодуль.АсинхронноеПолучениеДанныхСловарь
Автор: 1С
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////


Функция ФорматНеПоддерживается() Экспорт
	
    Возврат НСтр("ru='Формат не поддерживается'");	
	
КонецФункции

Получить данные физического лица

Получить данные физического лица (данные паспорта, прописки, адреса проживания, ФИО в полном и сокращенном формате)
ДанныеФизическогоЛица = КадровыйУчет.КадровыеДанныеФизическихЛиц(
		Истина, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДокументДляПечати.ФизическоеЛицо), 
		"ФИОПолные, ФамилияИО, АдресПоПрописке, ДокументВид, ДокументСерия, ДокументНомер", ДокументДляПечати.Дата);

ФорматОбмена

Возвращает строку с форматом обмена.
ОбщийМодуль.ОбменДаннымиXDTOСервер
Автор: 1С
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Возвращает строку с форматом обмена.
// Формат обмена включает: 
//  Базовый формат, предусмотренный для плана обмена.
//  Версию базового формата.
//
// Параметры:
//  ИмяПланаОбмена - Строка.
//  ВерсияФормата - Строка.
//
Функция ФорматОбмена(Знач ИмяПланаОбмена, Знач ВерсияФормата) Экспорт
	
	ФорматОбмена = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ФорматОбмена");
	
	Если Не ПустаяСтрока(ВерсияФормата) Тогда
		ФорматОбмена = ФорматОбмена + "/" + ВерсияФормата;
	КонецЕсли;
	
	Возврат ФорматОбмена;
	
КонецФункции