wiki:1c:coding

Это старая версия документа!


Изменение имени переменной в цикле

Функция ДобавитьСтрокиВТЗ(ТЗ,Строка,ТекстДок)
 стр = ТЗ.Добавить();
 Для Каждого Колонка ИЗ ТЗ.Колонки Цикл
  Стр[Колонка.Имя] = СокрЛП(ТекстДок.ПолучитьСтроку(Строка));
  Строка = Строка + 1;
 КонецЦикла;  
 Возврат Строка
КонецФункции

Запуск обработки из макета внешней обработки

  • Добавляем внешнюю обработку для запуска как макет с типом «Внешняя компонента».
  • В модуле обработки пишем функцию:
&НаСервере
Функция ПолучитьОбмен_Данными_XML_2_1_7()  Экспорт
 Обработка = ЭтотОбъект.ПолучитьМакет("EPF_Универсальный_Обмен_Данными_XML_2_1_7");
 АдресОбработкиВХранилище = ПоместитьВоВременноеХранилище(Обработка);
 
 Возврат АдресОбработкиВХранилище
 
КонецФункции
  • На форме обработки создаем событие :«При открытии», В его обработчике пишем:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
 ИмяОбработки = ПодключитьВнешнююОбработку();
 // Откроем форму подключенной внешней обработки
 Форма = ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма.УправляемаяФорма");
 //ЭтаФорма.Закрыть();
КонецПроцедуры

&НаСервере
Функция ПодключитьВнешнююОбработку()
 Возврат ВнешниеОбработки.Подключить(РеквизитФормыВЗначение("Объект").ПолучитьОбмен_Данными_XML_2_1_7(), , Ложь);
КонецФункции

Разбивка строки по разделителю на подстроки

#Если ТолстыйКлиентОбычноеПриложение Тогда
Если Счетчик % 100 = 0 Тогда
     Состояние("Загружается отчет № " + НомерОтчета + " с POS № " + ЛогНомерИзОтчета + ", строка " + Счетчик + "/" + ВсегоСтрок);
КонецЕсли;
#КонецЕсли
//Разделитель в этом случае ";"
Стр = СтрЗаменить(ФайлОтчета.ПолучитьСтроку(Счетчик), ";", Символы.ПС);
Дата = СтрПолучитьСтроку(Стр, 2);
Время = СтрПолучитьСтроку(Стр, 3);
НомерЧека        = СтрПолучитьСтроку(Стр, 6);
Сумма = СтрПолучитьСтроку(Стр, 12);

Прибавляет Нужное количество рабочих дней к дате

Не совсем рабочая функция взята здесь

 Функция РабочихДнейСДаты(НачДата,КолвоДней)  Экспорт
	//Перем РабочихДней, ОбычныхДней, ДеньНедели;
	РабочихДней = 0; 
	ОбычныхДней = 0;
	Пока РабочихДней <= Число(КолвоДней) Цикл 
		ОбычныхДней = ОбычныхДней+ 1;          
		// определим день недели 
		ДеньНедели=ДеньНедели(НачДата+(ОбычныхДней*86400));           
		// если не выходной, то прошел еще один рабочий день 
		Если ДеньНедели < 6 Тогда
			РабочихДней=РабочихДней+1;
		КонецЕсли;
	КонецЦикла;
	
	Возврат (НачДата + (ОбычныхДней*86400));
КонецФункции
  • wiki/1c/coding.1553250836.txt.gz
  • Последнее изменение: 2019/03/22 13:33
  • anton