Сформировать строку номенклатуры: различия между версиями

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
====== Пример формирования строки номенклатуры для выгрузки в АСП.Шлюз ======
====== Пример формирования строки номенклатуры для выгрузки в АСП.Шлюз ======
В зависимости версии 1С и метода ведения учета существуют различные способы заполнения количества (веса) и количества упаковок в табличной части документа.
 
|
В зависимости от версии 1С и метода ведения учета существуют различные способы заполнения количества (веса) и количества упаковок в табличной части документа.
В примере используются следующие функции:[[шлюз_выгрузка:сформировать_номенклатуру|СформироватьНоменклатуру]][[шлюз_выгрузка:сформировать_фильтр|СформироватьФильтр]]; [[шлюз_выгрузка:сформировать_вет_документ|СформироватьВетДокумент]]
 
В примере используются следующие функции:
* [[сформировать_номенклатуру|СформироватьНоменклатуру]]
* [[сформировать_фильтр|СформироватьФильтр]]  
* [[сформировать_вет_документ|СформироватьВетДокумент]]
 
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>
Функция СформироватьСтрокуНоменклатуры(СтрокаТЧ, Документ,Фабрика)
Функция СформироватьСтрокуНоменклатуры(СтрокаТЧ, Документ, Фабрика)
СтрокаНоменклатуры = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"СтрокаНоменклатуры"));
СтрокаНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(), "СтрокаНоменклатуры"));
СтрокаНоменклатуры.Номенклатура = СформироватьНоменклатуру(СтрокаТЧ.Номенклатура,Фабрика);
СтрокаНоменклатуры.Номенклатура = СформироватьНоменклатуру(СтрокаТЧ.Номенклатура, Фабрика);
//УТ 11  
// Расчет количества в зависимости от версии 1С
// УТ 11  
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель/СтрокаТЧ.Номенклатура.ВесЗнаменатель * СтрокаТЧ.Количество;  
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель/СтрокаТЧ.Номенклатура.ВесЗнаменатель * СтрокаТЧ.Количество;  
//УПП (УФ)
<syntaxhighlight lang='bash'>
// УПП (УФ)
СтрокаНоменклатуры.Количество = СтрокаТЧ.ЕдиницаИзмерения.Вес * СтрокаТЧ.Количество;  
СтрокаНоменклатуры.Количество = СтрокаТЧ.ЕдиницаИзмерения.Вес * СтрокаТЧ.Количество;  
</syntaxhighlight>чаще просто количество
//УПП (ОФ)
// УПП (ОФ)
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество;  ??
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество;  ??
//УНФ
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.Вес*СтрокаТЧ.Количество;
// УНФ
//УТ 10.3
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.Вес * СтрокаТЧ.Количество;
// УТ 10.3
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество; ???
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество; ???
//БП 3.0
// БП 3.0
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель * СтрокаТЧ.Количество;  
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель * СтрокаТЧ.Количество;  
//БП 2.0
// БП 2.0
СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество;  
СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество;  
//ERP
// ERP
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель * СтрокаТЧ.Количество;  
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель * СтрокаТЧ.Количество;  
//КА (УФ)
// КА (УФ)
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель/СтрокаТЧ.Номенклатура.ВесЗнаменатель * СтрокаТЧ.Количество;  
//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель/СтрокаТЧ.Номенклатура.ВесЗнаменатель * СтрокаТЧ.Количество;  
//КА (ОФ)
<syntaxhighlight lang='bash'>
СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество;
</syntaxhighlight>нужно вычислять вес
СтрокаНоменклатуры.КоличествоУпаковок = ?(СтрокаТЧ.Количество<0.5,Окр(СтрокаТЧ.Количество+0.5,0,РежимОкругления.Окр15как20),Окр(СтрокаТЧ.Количество,0,РежимОкругления.Окр15как20)); //нужно вычислять количество упаковок
// КА (ОФ)
СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество; // нужно вычислять вес
// Расчет количества упаковок
СтрокаНоменклатуры.КоличествоУпаковок = ?(СтрокаТЧ.Количество < 0.5,  
Окр(СтрокаТЧ.Количество + 0.5, 0, РежимОкругления.Окр15как20),  
Окр(СтрокаТЧ.Количество, 0, РежимОкругления.Окр15как20)); // нужно вычислять количество упаковок
//СтрокаНоменклатуры.КоличествоУпаковок = СтрокаТЧ.КоличествоМест;
//СтрокаНоменклатуры.КоличествоУпаковок = СтрокаТЧ.КоличествоМест;


// следующие поля не обязательны для заполнения и предназначены для выгрузки дополнительных сведений из учетной системы
// Следующие поля не обязательны для заполнения и предназначены для выгрузки  
//СтрокаНоменклатуры.ВетДокумент = СформироватьВетДокумент(???,Фабрика);
// дополнительных сведений из учетной системы
//СтрокаНоменклатуры.ВетДокумент = СформироватьВетДокумент(???, Фабрика);
//СтрокаНоменклатуры.ГУИДСкладскойЗаписи = ???;
//СтрокаНоменклатуры.ГУИДСкладскойЗаписи = ???;
//СтрокаНоменклатуры.КодПартии = ???;
//СтрокаНоменклатуры.КодПартии = ???;
Строка 43: Строка 59:
//СтрокаНоменклатуры.Артикул = ???;
//СтрокаНоменклатуры.Артикул = ???;
//СтрокаНоменклатуры.Маркировки = ???;
//СтрокаНоменклатуры.Маркировки = ???;
//СтрокаНоменклатуры.Фильтр = СформироватьФильтр(Документ,Фабрика);
//СтрокаНоменклатуры.Фильтр = СформироватьФильтр(Документ, Фабрика);
Возврат СтрокаНоменклатуры;
Возврат СтрокаНоменклатуры;
КонецФункции
КонецФункции
</syntaxhighlight>
</syntaxhighlight>
[[Category:Асп.шлюз выгрузка]]
[[Category:Асп.шлюз выгрузка]]


<vote type=1 />
<vote type=1 />

Текущая версия от 06:51, 16 октября 2025

Пример формирования строки номенклатуры для выгрузки в АСП.Шлюз

В зависимости от версии 1С и метода ведения учета существуют различные способы заполнения количества (веса) и количества упаковок в табличной части документа.

В примере используются следующие функции:

Функция СформироватьСтрокуНоменклатуры(СтрокаТЧ, Документ, Фабрика)
	СтрокаНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(), "СтрокаНоменклатуры"));
	
	СтрокаНоменклатуры.Номенклатура = СформироватьНоменклатуру(СтрокаТЧ.Номенклатура, Фабрика);
	
	// Расчет количества в зависимости от версии 1С
	// УТ 11 
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель/СтрокаТЧ.Номенклатура.ВесЗнаменатель * СтрокаТЧ.Количество; 
	
	// УПП (УФ)
	СтрокаНоменклатуры.Количество = СтрокаТЧ.ЕдиницаИзмерения.Вес * СтрокаТЧ.Количество; 
	
	// УПП (ОФ)
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество;  ??
	
	// УНФ
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.Вес * СтрокаТЧ.Количество;
	
	// УТ 10.3
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество; ???
	
	// БП 3.0
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель * СтрокаТЧ.Количество; 
	
	// БП 2.0
	СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество; 
	
	// ERP
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель * СтрокаТЧ.Количество; 
	
	// КА (УФ)
	//СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ВесЧислитель/СтрокаТЧ.Номенклатура.ВесЗнаменатель * СтрокаТЧ.Количество; 
	
	// КА (ОФ)
	СтрокаНоменклатуры.Количество = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Вес * СтрокаТЧ.Количество; // нужно вычислять вес
	
	// Расчет количества упаковок
	СтрокаНоменклатуры.КоличествоУпаковок = ?(СтрокаТЧ.Количество < 0.5, 
		Окр(СтрокаТЧ.Количество + 0.5, 0, РежимОкругления.Окр15как20), 
		Окр(СтрокаТЧ.Количество, 0, РежимОкругления.Окр15как20)); // нужно вычислять количество упаковок
	//СтрокаНоменклатуры.КоличествоУпаковок = СтрокаТЧ.КоличествоМест;

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