Шаблоны 1С


Добавить новый Назад

пересчет реквизита табличной части обычной формы

пересчет реквизита табличной части обычной формы

Добавил: Андрей
Процедура Пересчет()
	СтрокаТабличнойЧасти = ЭлементыФормы.Товар.ТекущиеДанные;
	Рекв = ЭлементыФормы.Товар.ТекущаяКолонка.Данные;
	Если Рекв = "Номенклатура" Тогда
		ЦенаТ = ПолучитьЦену(СтрокаТабличнойЧасти.Номенклатура);
		СтрокаТабличнойЧасти.Цена = ЦенаТ;
		СтрокаТабличнойЧасти.Количество = 1;
		СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.Количество;
	ИначеЕсли Рекв = "Количество" Тогда	
		СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.Количество;
	ИначеЕсли Рекв = "Цена" Тогда
		СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.Количество;
	ИначеЕсли Рекв = "Сумма" Тогда	
		СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Сумма/?(СтрокаТабличнойЧасти.Количество=0,1,СтрокаТабличнойЧасти.Количество);
	КонецЕсли;	
КонецПроцедуры
Добавить комментарий

заполнение табличного документа

заполнение табличного документа

Добавил: Андрей
Макет 	= ПолучитьМакет("макет");
А1 		= Макет.ПолучитьОбласть("А1");
А2 		= Макет.ПолучитьОбласть("А2");
табДок.Вывести(А1,1);
для ее = 0 по рез.Количество()-1 цикл
	А2.Параметры.Заполнить(рез[ее]);
	ТабДок.Вывести(А2,2,"импортер",истина);
конецЦикла;
табДок.ЗакончитьАвтогруппировкуСтрок();
табДок.Показать();
Добавить комментарий

Описание строки в таблице значений

Описание строки в таблице значений

Добавил: Андрей
ст90	= новый описаниеТипов("строка",,Новый КвалификаторыСтроки(90));
Добавить комментарий

описание даты в таблице значений

описание даты в таблице значений

Добавил: Андрей
Новый ОписаниеТипов ("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата))
Добавить комментарий

описание числа (15.2) в таблице значений

описание числа (15.2) в таблице значений

Добавил: Андрей
Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2))
Добавить комментарий

Чтение XML через DOM

Чтение XML через DOM

Добавил: Андрей
функция читаемХМЛ2014(путь,атр) экспорт
	х 		= новый массив;
	y 		= новый массив;
	мДОМ 	= новый ПостроительDOM;
	
	заявка = новый таблицаЗначений;
	заявка.Колонки.Добавить("номерДок");
	заявка.Колонки.Добавить("клиент");
	заявка.Колонки.Добавить("адрес");
	заявка.Колонки.Добавить("товар");
	заявка.Колонки.Добавить("кодТовара");
	заявка.Колонки.Добавить("количество");
	заявка.Колонки.Добавить("цена");
	заявка.Колонки.Добавить("сумма");
	
	чтение 	= Новый ЧтениеXML ;
	чтение.ОткрытьФайл(сокрЛП(путь));
	мДокументДОМ = мДОМ.Прочитать(чтение);
	чтение.Закрыть();
	номерДок = "";
	клиент   = "";
	адрес    = "";
	_documents =  мДокументДОМ.ПолучитьЭлементыПоИмени("documents");
	для каждого а1 из _documents цикл
		_preorder = а1.ПолучитьЭлементыПоИмени("preorder");
		для каждого а2 из _preorder цикл
			_ттн = а2.дочерниеУзлы;
			для каждого а21 из _ттн цикл
				если (а21.имяУзла = "innercode") тогда
					номерДок =а21.ТекстовоеСодержимое;
				конецЕсли; 
				если (а21.имяУзла = "buypointjuridicalname") тогда
					клиент   = а21.ТекстовоеСодержимое;
				конецЕсли;
				если (а21.имяУзла = "buypointaddress") тогда
					адрес    = а21.ТекстовоеСодержимое;
				конецЕсли;
			конецЦикла;
			_item = а2.ПолучитьЭлементыПоИмени("item");
			для каждого а3 из _item цикл
				_товар  = а3.ДочерниеУзлы;
				хх = заявка.Добавить();
				хх.номерДок = номерДок;
				хх.клиент   = клиент;
				хх.адрес    = адрес;
				для каждого а4 из _товар цикл
					если  (а4.имяУзла = "SKUname") тогда
						хх.товар = а4.ТекстовоеСодержимое;
					конецЕсли;
					если (а4.имяУзла = "SKUcode")тогда 
						хх.кодТовара = а4.ТекстовоеСодержимое;
					конецЕсли;
					если (а4.имяУзла = "quantity")тогда 
						хх.количество = а4.ТекстовоеСодержимое;
					конецЕсли;
					если (а4.имяУзла = "priceDiscount")  тогда
						хх.цена = а4.ТекстовоеСодержимое;
					конецЕсли;
					если (а4.имяУзла = "amount")  тогда
						хх.сумма = а4.ТекстовоеСодержимое;
					конецЕсли;
				конецЦикла;
			конецЦикла;
		конецЦикла;
	конецЦикла;
	
	
	//мРазыменовательПИ = мДокументДОМ.СоздатьРазыменовательПИ(мДокументДОМ);
	//мЗапрос		= "/documents/preorders/preorder/body/item/*";
	//мХПуть		= мДокументДОМ.СоздатьВыражениеXPath(мЗапрос,мРазыменовательПИ);
	//мРезультат	= мХПуть.Вычислить(мДокументДОМ);
	//мРодитель	= мРезультат.ПолучитьСледующий();
	//пока мРодитель <> неопределено цикл
	//	//если  мРодитель.ИмяЭлемента = "body" тогда
	//	//	  
	//	//	
	//	//	сообщить("");
	//	//	мРодитель=мРезультат.ПолучитьСледующий();
	//	//	продолжить;
	//	//конецЕсли;	 
	//	х.Добавить( мРодитель.ИмяЭлемента+" "+мРодитель.ТекстовоеСодержимое);
	//	сообщить(мРодитель.ИмяЭлемента+" "+мРодитель.ТекстовоеСодержимое);
	//	мРодитель=мРезультат.ПолучитьСледующий();
	//конецЦикла;
	
	возврат заявка;
конецФункции  //функция читаемХМЛ2014(путь)
Добавить комментарий

Обработка подбора в управляемой форме

Обработка подбора в управляемой форме

Добавил: Андрей
&НаКлиенте //часто стоит указать &наСервере
Процедура выбратьТовар(Команда)
	 ст = новый структура;
	 ст.Вставить("товар", элементы.списокПодбора.текущиеДанные.товар);
	 ст.Вставить("цена"	, элементы.списокПодбора.текущиеДанные.цена);
	 //этаФорма.результат = ПоместитьВоВременноеХранилище(ст);
	 этаФорма.ВладелецФормы.адресПодбора = ст;
	 этаФорма.ВладелецФормы.выполнитьПодбор();
	 этаФорма.Закрыть();
КонецПроцедуры //Процедура выбратьТовар(Команда)

&НаКлиенте
процедура выполнитьПодбор() Экспорт
	ст 					= этаФорма.адресПодбора;
	адресПодбора 		= неопределено;
	хх 					= объект.товар.Добавить();
	хх.номенклатура 	= ст.товар;
	хх.ценаВход 		= ст.цена;
	хх.цена 			= ст.цена;
	хх.количество 		= 1;
	хх.сумма 			= хх.количество*хх.цена;	
конецПроцедуры
Добавить комментарий

Вызов формы подбора в управляемой форме

Вызов формы подбора в управляемой форме

Добавил: Андрей
П 			= Новый Структура;
	ФормаВыбора = ПолучитьФорму("Документ.расходТовара.Форма.подбор",П,этаФорма);
	ФормаВыбора.Открыть();
Добавить комментарий

Вызов шаблона в управляемой форме

Вызов шаблона в управляемой форме

Добавил: Андрей
схемаКомпоновкиДанных 		= РеквизитФормыВЗначение("Объект").ПолучитьМакет("имяОтчета");
Добавить комментарий

ДобавитьИтераторТаблице

Добавляет колонку в таблицу значений. Заполняет колонку переданным значением

Добавил: m.bolsun
// Добавляет колонку в таблицу значений. Заполняет колонку переданным значением
//
// Параметры:
//  Таблица           - ТаблицаЗначений - таблица значений для добавления колонки
//  ЗначениеИтератора - Произвольный - значение, которым будет заполнено новое поле таблицы
//  ИмяПоляИтератора  - Строка - имя добавляемого поля
// 
Процедура ДобавитьИтераторТаблице(Таблица, ЗначениеИтератора, ИмяПоляИтератора) Экспорт
	
	Таблица.Колонки.Добавить(ИмяПоляИтератора);
	
	Таблица.ЗаполнитьЗначения(ЗначениеИтератора, ИмяПоляИтератора);
	
КонецПроцедуры
Добавить комментарий