Добавить Назад

ТаблицаЗначенийВТаблицуХТМЛ

HTML
Добавил: Igozz
Функция ТаблицаЗначенийВТаблицуХТМЛ(ТабЗначений,СтруктураПараметрыТаблицыХТМЛ = Неопределено) Экспорт
	
	//СтруктураПараметрыТаблицыХТМЛ
	//
	//Общие параметры:
	//СтруктураПараметрыТаблицыХТМЛ.ШиринаТаблицы - общая ширина таблица
	//СтруктураПараметрыТаблицыХТМЛ.ЦветШапки - цвет шапки таблицы пример "eadbaf"
	//СтруктураПараметрыТаблицыХТМЛ.ПунктПорядкуИспользуется - по умолчанию ЛОЖЬ
	//
	//Индивиуальные для каждой колонки:
	//СтруктураПараметрыТаблицыХТМЛ.Заголовок1 - заголовок для первой колонки, цифра на конце обознает номер колонки (не с нуля)
	//СтруктураПараметрыТаблицыХТМЛ.Ширина1 - ширина для первой колонки, цифра на конце обознает номер колонки (не с нуля)
	//СтруктураПараметрыТаблицыХТМЛ.Положение1 - отвечает за положение текста в колонке (по умол. лево), передовать "center" или "right"
	
	//ТабЗначений = Новый ТаблицаЗначений;
	МассивИменКолонок = Новый Массив;
	
	Если ТипЗнч(СтруктураПараметрыТаблицыХТМЛ) <> Тип("Структура") Тогда
		СтруктураПараметрыТаблицыХТМЛ = Новый Структура;
	КонецЕсли;
				
	КоличествоКолонок = ТабЗначений.Колонки.Количество();
	ПунктПорядкуИспользуется = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство("ПунктПорядкуИспользуется"),СтруктураПараметрыТаблицыХТМЛ.ПунктПорядкуИспользуется,ЛОЖЬ);	
	
	Если КоличествоКолонок < 0 Тогда
		Возврат Неопределено;
	КонецЕсли;
			
	ЦветШапки = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство("ЦветШапки")," bgcolor=""#" + СтруктураПараметрыТаблицыХТМЛ.ЦветШапки + """","");
	ШиринаТаблицы = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство("ШиринаТаблицы")," style=""width:" + СтруктураПараметрыТаблицыХТМЛ.ШиринаТаблицы + "px""",""); 
	ТаблицаХТМЛ = "<table border=""1"" cellpadding=""1"" cellspacing=""0"" " + ШиринаТаблицы + ">
				|<tbody>
				|<tr>";
	
	//Первым выводим столбик П/П если он задан в шапку
	Если ПунктПорядкуИспользуется Тогда
		ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|<td" + ЦветШапки + " style=""width:30px"" align=""center"">п/п</td>";	
	КонецЕсли;
	
	//Формируем шапку
	Для Счетчик = 1 по КоличествоКолонок Цикл
		ИмяСвойстваШирина = "Ширина" + Счетчик;
		ШиринаСтолбца = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство(ИмяСвойстваШирина)," style=""width:" + СтруктураПараметрыТаблицыХТМЛ[ИмяСвойстваШирина] + "px""","");
		ИмяКолонки = ТабЗначений.Колонки[Счетчик-1].Имя;
		ИмяСвойстваЗаголовок = "Заголовок" + Счетчик;
		ЗаголовокКолонки = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство(ИмяСвойстваЗаголовок),СтруктураПараметрыТаблицыХТМЛ[ИмяСвойстваЗаголовок],ИмяКолонки);
		ТаблицаХТМЛ = ТаблицаХТМЛ + " 
				|<td" + ЦветШапки + ШиринаСтолбца + " align=""center"">" + ЗаголовокКолонки + "</td>";	
		МассивИменКолонок.Добавить(ИмяКолонки);
	КонецЦикла;
	ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|</tr>";
	
	//Заполняем таблицу	
	ПунктПорядку = 0;
	Для каждого СтрокаТаблицы Из ТабЗначений Цикл
		ПунктПорядку = ПунктПорядку + 1;
		ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|<tr>" + ?(ПунктПорядкуИспользуется, Символы.ПС + "<td align=""center"">" + ПунктПорядку + "</td>","") + "";
		Для Счетчик = 0 по КоличествоКолонок - 1 Цикл
			ИмяСвойстваПоложение = "Положение" + Строка(Счетчик + 1);
			Положение = " align=""" + ?(СтруктураПараметрыТаблицыХТМЛ.Свойство(ИмяСвойстваПоложение),СтруктураПараметрыТаблицыХТМЛ[ИмяСвойстваПоложение],"left") + """";
			ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|<td " + Положение + ">" + СтрокаТаблицы[МассивИменКолонок[Счетчик]] + "</td>";			
		КонецЦикла;				
		ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|</tr>";
	КонецЦикла;	
	
	ТаблицаХТМЛ = ТаблицаХТМЛ + " 
				|</tbody>
				|</table>";
	
	Возврат ТаблицаХТМЛ;

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

Запустить внешнее приложение

Выполняет запуск внешнего процесса, с оповещением и ожиданием результата
УФ
Добавил: bolsun
&НаКлиенте
Процедура КомандаВыполнитьПрограмму(Команда)
	
	СтрокаЗапуска = "C:\Application.exe";
	
	НачатьЗапускПриложения(Новый ОписаниеОповещения("НачатьЗапускПриложенияЗавершение", ЭтотОбъект), СтрокаЗапуска,, Истина);
	
КонецПроцедуры  

&НаКлиенте
Процедура НачатьЗапускПриложенияЗавершение(КодВозврата, ДополнительныеПараметры) Экспорт 
    
    //Вставить обработку завершения выполнения
    
КонецПроцедуры

Записать текст в файл

Работа с файлами
Добавил: bolsun
&НаКлиенте
Процедура ЗаписатьТекстовыйФайл(ИмяФайла, Текст)
	
	ТекстовыйФайл = Новый ТекстовыйДокумент;
 
    ТекстовыйФайл.УстановитьТекст(Текст);
	
	//ТекстовыйФайл.ДобавитьСтроку(""); 
    
    ТекстовыйФайл.Записать(ИмяФайла,
        КодировкаТекста.UTF8
    );
	
КонецПроцедуры

Прочитать текст из файла

Работа с файлами
Добавил: bolsun
&НаКлиенте
Функция ПрочитатьТекстовыйФайл(ИмяФайла)
	
	ТекстовыйФайл = Новый ТекстовыйДокумент;
 
    ТекстовыйФайл.Прочитать(ИмяФайла,
        КодировкаТекста.UTF8
    );
	
	Возврат ТекстовыйФайл.ПолучитьТекст();
	
КонецФункции

Диалог выбора каталога

каталог
Добавил: Yuriy K.
 Режим = РежимДиалогаВыбораФайла.ВыборКаталога; 
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
ДиалогОткрытия.Каталог = ""; 
ДиалогОткрытия.МножественныйВыбор = Ложь; 
ДиалогОткрытия.Заголовок = "Выберите каталог"; 

Если ДиалогОткрытия.Выбрать() Тогда 
	ПутьККаталогу = ДиалогОткрытия.Каталог; 
КонецЕсли;   

Поместить текст в буфер обмена

Устанавливает текст в буфер обмена
Буфер обмена
2 Добавил: bolsun
Процедура УстановитьТекстВБуферОбмена(Текст) Экспорт
  #Если Клиент Тогда
    COMОбъект = Новый COMОбъект("htmlfile");
    COMОбъект.ParentWindow.ClipboardData.SetData("Text", Текст);
  #КонецЕсли
КонецПроцедуры

Шаблон внешней печатной формы

Шаблон внешней печатной формы
БСП
Добавил: Эльдар Мингалиев
Функция СведенияОВнешнейОбработке() Экспорт
		
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	ПараметрыРегистрации.ВерсияБСП = "2.1.3.2";
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	//ПараметрыРегистрации.Вставить("Информация", "");
	
	ПараметрыРегистрации.Назначение.Добавить("Документ.ВедомостьНаВыплатуЗарплатыПеречислением");
	//ПараметрыРегистрации.Назначение.Добавить("Документ.*"); // все документы
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = Метаданные().Представление();   //Синоним
	НоваяКоманда.Идентификатор = Метаданные().ПолноеИмя();   //ПолноеИмя
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.Модификатор = "ПечатьMXL"; // Обязательно
	
	//НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	//НоваяКоманда.Представление = Метаданные().Представление();
	//НоваяКоманда.Идентификатор = Метаданные().ПолноеИмя();
	//НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовКлиентскогоМетода();
	//
	//НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	//НоваяКоманда.Представление = Метаданные().Представление();
	//НоваяКоманда.Идентификатор = Метаданные().ПолноеИмя();
	//НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

// Формирует печатные формы
//
// Параметры:
//  МассивОбъектов  - Массив    - ссылки на объекты, которые нужно распечатать;
//  КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы 
//                                            (выходной параметр).
//  ОбъектыПечати         - СписокЗначений  - значение      - ссылка на объект;
//                                            представление - имя области в которой был выведен объект
//                                            (выходной параметр);
//  ПараметрыВывода       - Структура       - дополнительные параметры сформированных табличных документов
//                                            (выходной параметр);
//
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, Метаданные().ПолноеИмя(), НСтр(Метаданные().Представление()), 
	ПечатьСписокПеречислений(МассивОбъектов, ОбъектыПечати));	
	
КонецПроцедуры

Функция ПечатьСписокПеречислений(МассивОбъектов, ОбъектыПечати)
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = Метаданные().ПолноеИмя();

	Макет = ПолучитьМакет("ПФ_MXL_СписокПеречисленийНаЛицевыеСчета"); 
	
	// получаем данные для печати
	ВыборкаШапок = ВыборкаДляПечатиШапки(МассивОбъектов);
	ВыборкаСтрок = ВыборкаДляПечатиТаблицы(МассивОбъектов);
	
	ПервыйДокумент = Истина;
	
	Возврат ТабличныйДокумент;
	
КонецФункции

Заполнить первоначальные значения в форме (Организация)

Заполнить первоначальные значения в форме (Организация) в ЗУП 3
ЗУП 3
Добавил: Эльдар Мингалиев
Процедура ПриСозданииНаСервере

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

КонецПроцедуры

Преобразовать строку в число

Преобразовать строку в число в ЗУП 3
ЗУП 3
Добавил: Эльдар Мингалиев
// Преобразует исходную строку в число без вызова исключений.
//
// Параметры:
//   Значение - Строка - Строка, которую необходимо привести к числу.
//                       Например, "10", "+10", "010", вернет 10;
//                                 "(10)", "-10",вернет -10;
//                                 "10,2", "10.2",вернет 10.2;
//                                 "000", " ", "",вернет 0;
//                                 "10текст", вернет Неопределено.
//
// Возвращаемое значение:
//   Число, Неопределено - Полученное число, либо Неопределено, если строка не является числом.
//

ВведеннаяОчередность = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(СтрокаТаблицы.ПредставлениеОчередности);

Преобразовать строку в дату

Преобразовать строку в дату в ЗУП 3
ЗУП 3
Добавил: Эльдар Мингалиев
// Преобразует исходную строку в дату.
//
// Параметры:
//  Значение - Строка - Строка, которую необходимо привести к дате.
//                      Формат даты должен быть в виде "ДД.ММ.ГГГГ" или "ДД/ММ/ГГ" или "ДД-ММ-ГГ",
//                      Например, "23.02.1980" или "23/02/80".
// 
// Возвращаемое значение:
//  Дата - полученная дата.
//
Для Каждого СтрокаТаблицы Из ЗагружаемыеДанные Цикл
		
		СтрокаСотрудник = Сотрудники.Добавить();
		СтрокаСотрудник.Идентификатор 	= СтрокаТаблицы.Идентификатор;
		СтрокаСотрудник.ДатаНачала 		= СтроковыеФункцииКлиентСервер.СтрокаВДату(СтрокаТаблицы.ДатаНачала);
		СтрокаСотрудник.ДатаОкончания 	= СтроковыеФункцииКлиентСервер.СтрокаВДату(СтрокаТаблицы.ДатаОкончания);
	
КонецЦикла;

FastCode - сервис поиска кода 1С

Уже 960 разработчиков используют FastCode в работе!