Как добавить позицию характеристики номенклатуры в рмк
есть код который добавляет все нужное в рмк из подбора
и код с формы подбора
не могу в процедуре ПодборЗаверщение "захватить" нужную х-ку чтобы перенести ее в рмк. характеристики здесь идут не отдельным справочником, а как реквизит, два. ИспользоватьХарактеристики - булево, хАРАКТЕРИСТИКИ - реквизит, переход на форму х-тик
&НаКлиенте
Процедура Подбор(Команда)
//ПараметрыФормы = Новый Структура;
//ПараметрыФормы.Вставить("", );
Оповещение = Новый ОписаниеОповещения("ПодборЗаверщение", ЭтотОбъект);
ОткрытьФорму("Обработка.РабочееМестоКассира.Форма.ФормаПодбора",, ЭтотОбъект,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЗаполнитьСвойстваНоменклатуры(Номенклатура, ВидЦен)
СвойстваНоменклатуры = Новый Структура();
СвойстваНоменклатуры.Вставить("Номенклатура", Номенклатура);
СвойстваНоменклатуры.Вставить("НоменклатураНаименование", "");
СвойстваНоменклатуры.Вставить("Весовой", Ложь);
СвойстваНоменклатуры.Вставить("Цена", 0);
СвойстваНоменклатуры.Вставить("ЕдиницаИзмерения", Неопределено);
СвойстваНоменклатуры.Вставить("СтавкаНДС", Неопределено);
СвойстваНоменклатуры.Вставить("СтавкаНСП", Неопределено);
СвойстваНоменклатуры.Вставить("ТипМаркировки", Неопределено);
СвойстваНоменклатуры.Вставить("ПризнакПредметаРасчета", Неопределено);
СвойстваНоменклатуры.Вставить("ИспользоватьХарактеристики", Неопределено);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| СправочникНоменклатура.Наименование КАК НоменклатураНаименование,
| СправочникНоменклатура.ПризнакПредметаРасчета КАК ПризнакПредметаРасчета,
| СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СправочникНоменклатура.Весовой КАК Весовой,
| СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
| СправочникНоменклатура.СтавкаНСП КАК СтавкаНСП,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| СправочникНоменклатура.ИспользоватьХарактеристики КАК ИспользоватьХарактеристики
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| ,
| Номенклатура = &Номенклатура
| И ВидЦен = &ВидЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО СправочникНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СправочникНоменклатура.ЕдиницаИзмерения = ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
|ГДЕ
| СправочникНоменклатура.Ссылка = &Номенклатура";
Запрос.УстановитьПараметр("ВидЦен", ВидЦен);
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
ЗаполнитьЗначенияСвойств(СвойстваНоменклатуры, ВыборкаДетальныеЗаписи);
КонецЕсли;
Возврат СвойстваНоменклатуры;
КонецФункции
&НаКлиенте
Процедура ПодборЗаверщение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
СтруктураПараметров = ЗаполнитьСвойстваНоменклатуры(Результат.Номенклатура, ВидЦен);
СтруктураПараметров.Вставить("Количество", 1);
Если СтруктураПараметров.ИспользоватьХарактеристики = Истина Тогда
ОткрытьФорму("Справочник.Номенклатура.Форма.РедактированиеХарактеристик",,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Иначе
ДобавитьПозициюНоменклатуры(СтруктураПараметров);
КонецЕсли;
ПересчитатьДокументНаКлиенте();
КонецПроцедуры
Показатьи код с формы подбора
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ПарамтрыПодбора = Новый Структура;
ПарамтрыПодбора.Вставить("Номенклатура", ВыбраннаяСтрока);
Закрыть(ПарамтрыПодбора);
КонецПроцедуры
не могу в процедуре ПодборЗаверщение "захватить" нужную х-ку чтобы перенести ее в рмк. характеристики здесь идут не отдельным справочником, а как реквизит, два. ИспользоватьХарактеристики - булево, хАРАКТЕРИСТИКИ - реквизит, переход на форму х-тик
По теме из базы знаний
- Бонусная система в 1С для УТ 10.3
- Алгоритмы с решениями для экзамена Специалист УТ 11.1
- Выбор цены в РМК для УТ 11.3 и УТ 11.4 (расширение)
- Первоначальная настройка 1С:Управление торговлей 11
- Расширение для справочника Номенклатура. Отображение картинки, остатков, цен. Корзина менеджера. Для 1С:Розница 2.2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
как вывести только наличные чеки? что не так с моими движениями?
код чтобы показать остаток
движения
вид движения наличных - перечисления виды движения наличных(внесение/выемка)
тип денежных средств - справочник вид оплаты (есть реквизит там тип оплаты который ссылается на перечисления типы оплат ккт (наличные/электроно)
код чтобы показать остаток
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Параметры.Свойство("КассоваяСмена", КассоваяСмена);
Параметры.Свойство("КассаККМ", КассаККМ);
Параметры.Свойство("ВидДвиженияНаличных", ВидДвиженияНаличных);
Если ВидДвиженияНаличных = Перечисления.ВидыДвиженияНаличных.Внесение Тогда
Заголовок = "Внесение";
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаВнесение;
Иначе
Заголовок = "Выемка";
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаВыемка;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДенежныеСредстваОстатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
| РегистрНакопления.ДенежныеСредства.Остатки КАК ДенежныеСредстваОстатки";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ВКассе = ВыборкаДетальныеЗаписи.СуммаОстаток;
КонецЦикла;
КонецЕсли;
СоздатьВнесениеВыемкаДСНаСервере();
КонецПроцедуры
Показатьдвижения
Процедура ОбработкаПроведения(Отказ, Режим)
Если ТипДенежныхСредств = Перечисления.ТипыОплатыККТ.Наличные ИЛИ ТипДенежныхСредств = "Наличная оплата" Тогда
// регистр ДенежныеСредства Приход
Движения.ДенежныеСредства.Записывать = Истина;
Движение = Движения.ДенежныеСредства.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.КассаККМ = КассаККМ;
Движение.Автор = Автор;
Движение.ТипДенежныхСредств = ТипДенежныхСредств;
Движение.ВидДвиженияНаличных = ВидДвиженияНаличных;
Движение.Сумма = Сумма;
ИначеЕсли ТипДенежныхСредств = Перечисления.ТипыОплатыККТ.Наличные ИЛИ ТипДенежныхСредств = "Наличная оплата" Тогда
// регистр ДенежныеСредства Расход
Движения.ДенежныеСредства.Записывать = Истина;
Движение = Движения.ДенежныеСредства.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.КассаККМ = КассаККМ;
Движение.Автор = Автор;
Движение.ТипДенежныхСредств = ТипДенежныхСредств;
Движение.ВидДвиженияНаличных = ВидДвиженияНаличных;
Движение.Сумма = Сумма;
КонецЕсли;
КонецПроцедуры
//документ чеки ккм
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ДенежныеСредства Приход
Движения.ДенежныеСредства.Записывать = Истина;
Для Каждого ТекСтрокаОплаты Из Оплаты Цикл
Движение = Движения.ДенежныеСредства.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.КассаККМ = КассаККМ;
Движение.Автор = Автор;
Движение.ТипДенежныхСредств = ТипДенежныхСредств;
Движение.ВидДвиженияНаличных = ВидДвиженияНаличных;
Движение.Сумма = ТекСтрокаОплаты.Сумма;
КонецЦикла;
КонецПроцедуры
Показатьвид движения наличных - перечисления виды движения наличных(внесение/выемка)
тип денежных средств - справочник вид оплаты (есть реквизит там тип оплаты который ссылается на перечисления типы оплат ккт (наличные/электроно)
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот