Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помилка при підборі номенклатури у документ зі сканера шк!
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Sempark
{Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента(1783)}: Занадто багато фактичних параметрів
СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, Номенклатура, Характеристика,


не розумію в чому проблема. Сканер підключений в розрив клавіатури!
awp
Цитата(Sempark @ 15.12.09, 17:13) необходимо зарегистрироваться для просмотра ссылки
{Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента(1783)}: Занадто багато фактичних параметрів
СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, Номенклатура, Характеристика,


не розумію в чому проблема. Сканер підключений в розрив клавіатури!


Полный код в студию.
1. РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(????????)
2. место вызова
Sempark
Функция СформироватьСтруктуруПодбора(Знач Номенклатура, Знач Характеристика, Знач Серия,
Знач Качество, Знач Единица, Знач Количество, Знач Валюта,
Знач СерийныйНомер, Знач СкладыВТЧ, Знач ТипЦен,
Знач Контрагент = Неопределено,
Знач Договор = Неопределено) Экспорт

Результат = Новый Структура();

Если ЗначениеЗаполнено(СерийныйНомер) Тогда
Номенклатура = СерийныйНомер.Владелец;
Единица = Номенклатура.ЕдиницаХраненияОстатков;
Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
Серия = Справочники.СерииНоменклатуры.ПустаяСсылка();
Качество = Справочники.Качество.Новый;
Количество = 1;
Результат.Вставить("СерийныйНомер", СерийныйНомер);
КонецЕсли;

Цена = 0;
Если ТипЦен <> Неопределено Тогда
Если Контрагент = Неопределено Тогда
Цена = Ценообразование.ПолучитьЦенуНоменклатуры(Номенклатура, Характеристика, ТипЦен, Неопределено, Единица, Валюта);
Иначе
Цена = Ценообразование.ПолучитьЦенуКонтрагента(Номенклатура, Характеристика, Контрагент, ТипЦен, Неопределено, Единица, Валюта, , , Договор);
КонецЕсли;
КонецЕсли;

Результат.Вставить("СпособЗаполненияЦен", Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры);
Результат.Вставить("ВалютаЦены", Валюта);
Результат.Вставить("Номенклатура", Номенклатура);
Результат.Вставить("ЕдиницаИзмерения", Единица);
Результат.Вставить("Количество", Количество);
Результат.Вставить("Цена", Цена);
Результат.Вставить("Характеристика", Характеристика);
Результат.Вставить("Серия", Серия);
Результат.Вставить("Качество", Качество);
Результат.Вставить("ЕстьСкладВТабличнойЧасти", СкладыВТЧ);
Результат.Вставить("Команда", "ПодборВТабличнуюЧасть");

Возврат Результат;

КонецФункции // СформироватьСтруктуруПодбора()

место вызова Поступление Товаров и Услуг(да и другие документы)
Sempark


Функция СформироватьСтруктуруПодбора(Знач Номенклатура, Знач Характеристика, Знач Серия,
Знач Качество, Знач Единица, Знач Количество, Знач Валюта,
Знач СерийныйНомер, Знач СкладыВТЧ, Знач ТипЦен,
Знач Контрагент = Неопределено,
Знач Договор = Неопределено) Экспорт

Результат = Новый Структура();

Если ЗначениеЗаполнено(СерийныйНомер) Тогда
Номенклатура = СерийныйНомер.Владелец;
Единица = Номенклатура.ЕдиницаХраненияОстатков;
Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
Серия = Справочники.СерииНоменклатуры.ПустаяСсылка();
Качество = Справочники.Качество.Новый;
Количество = 1;
Результат.Вставить("СерийныйНомер", СерийныйНомер);
КонецЕсли;

Цена = 0;
Если ТипЦен <> Неопределено Тогда
Если Контрагент = Неопределено Тогда
Цена = Ценообразование.ПолучитьЦенуНоменклатуры(Номенклатура, Характеристика, ТипЦен, Неопределено, Единица, Валюта);
Иначе
Цена = Ценообразование.ПолучитьЦенуКонтрагента(Номенклатура, Характеристика, Контрагент, ТипЦен, Неопределено, Единица, Валюта, , , Договор);
КонецЕсли;
КонецЕсли;

Результат.Вставить("СпособЗаполненияЦен", Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры);
Результат.Вставить("ВалютаЦены", Валюта);
Результат.Вставить("Номенклатура", Номенклатура);
Результат.Вставить("ЕдиницаИзмерения", Единица);
Результат.Вставить("Количество", Количество);
Результат.Вставить("Цена", Цена);
Результат.Вставить("Характеристика", Характеристика);
Результат.Вставить("Серия", Серия);
Результат.Вставить("Качество", Качество);
Результат.Вставить("ЕстьСкладВТабличнойЧасти", СкладыВТЧ);
Результат.Вставить("Команда", "ПодборВТабличнуюЧасть");

Возврат Результат;

КонецФункции // СформироватьСтруктуруПодбора()
Ardi
"Дата" выглядит лишней.
awp
Цитата(Sempark @ 15.12.09, 17:13) необходимо зарегистрироваться для просмотра ссылки
{Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента(1783)}: Занадто багато фактичних параметрів
СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, Номенклатура, Характеристика,


не розумію в чому проблема. Сканер підключений в розрив клавіатури!


СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, - Это куда?
logist
Цитата(awp @ 20.12.09, 23:52) необходимо зарегистрироваться для просмотра ссылки
СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, - Это куда?

Вобще интересно о какой конфигурации идет речь? К примеру в УТП параметр "Дата" все же присутствует, и используется для получения цены на эту дату.

Т.е. в коде сообщения №4, при получении цен, отсутствует параметр по которой определяется дата цены. В УТП применение даты выглядит следующим образом:


Если Склад <> Неопределено И Склад.ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда
Цена = УправлениеРозничнойТорговлей.ПолучитьПродажнуюЦену(ДатаЦен, Номенклатура,
Характеристика, Склад, УсловиеПродаж);
Иначе
Если ТипЦен <> Неопределено Тогда
Если Контрагент = Неопределено Тогда
Цена = Ценообразование.ПолучитьЦенуНоменклатуры(Номенклатура, Характеристика, ТипЦен, ДатаЦен, Единица, Валюта, , , , Договор, УсловиеПродаж);
Иначе
Цена = Ценообразование.ПолучитьЦенуКонтрагента(Номенклатура, Характеристика, Контрагент, ТипЦен, ДатаЦен, Единица, Валюта, , , Договор, УсловиеПродаж);
КонецЕсли;
КонецЕсли;
КонецЕсли;
awp
Какая разница в конфигурации - у него есть функция СформироватьСтруктуруПодбора которая принимает 12 параметров- Причем первый параметр НОМЕНКЛАТУРА - Он же вызывая ее тулит туда на 1 параметр больше, а именно ДАТА



СформироватьСтруктуруПодбора(Знач Номенклатура, Знач Характеристика, Знач Серия,
Знач Качество, Знач Единица, Знач Количество, Знач Валюта,
Знач СерийныйНомер, Знач СкладыВТЧ, Знач ТипЦен,
Знач Контрагент = Неопределено,
Знач Договор = Неопределено) Экспорт


вызов функции


РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, Номенклатура, Характеристика,
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.