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