Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 апр 2025, 08:51

Как добавить позицию характеристики номенклатуры в рмк

Автор sali, 25 ноя 2024, 10:51

0 Пользователей и 1 гость просматривают эту тему.

sali

Максим75,
Цитата: Максим75 от 29 ноя 2024, 12:18судя по скрину - характеристика тупо реквизит справочника номенклатуры.
не ужели, я вам это показывал и рассказывал в нескольких сообщениях и темах. я понимаю, вы помогаете многим и запомнить трудно, с данной темой куда сложнее.
это непонятная рмк как для меня новичка, как и для другого специалиста

Цитата: antoneus от 29 ноя 2024, 12:15Вы вроде характеристику выбираете?
да выбираю характеристику которая находится в СПРАВОЧНИКЕ НОМЕНКЛАТУРЫ, у нее просто нет своего справочника, изменять это не нужно

antoneus

Так что в этой форме выбора с отбором по номенклатуре должно быть-то в итоге?

sali

antoneus, в этой форме будут видны все характеристики данной номенклатуры для выбора. то бишь допустим у меня есть товар Spare Ribs со специями( свин. ребрышки) и 2 его х-ки на 300 грамм и Spare Ribs со специями( свин. ребрышки) 500 грамм.
и вот весь путь:
идет продажа - подбор/выбор товара
здесь товар проверяется используется ли у него характеристика если нет то он просто добавляется в тч рмк
если да то должно показаться окно с этими чертовыми характеристиками и выбрать нужную и она добавляется в тч рмк

Максим75

sali, вот как реализовано в типовой Рознице:

в событии НачалоВыбора у номенклатуры такое записано:

Процедура ТоварыНоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

ПараметрыВыбораНоменклатуры = Новый Структура();

ОбработчикОповещения = Новый ОписаниеОповещения("ОповещениеВыбораНоменклатуры", ЭтотОбъект);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыВыбораНоменклатуры,,,,, ОбработчикОповещения);

КонецПроцедуры

&НаКлиенте
Процедура ОповещениеВыбораНоменклатуры(РезультатВыбора, ДополнительныеПараметры) Экспорт

Если ЗначениеЗаполнено(РезультатВыбора) Тогда

СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Номенклатура = РезультатВыбора;

ТоварыНоменклатураПриИзменении(СтрокаТабличнойЧасти);

КонецЕсли;

КонецПроцедуры

номенклатуру выбрали, в текущую строку табличной части записали и произвели дальше манипуляции с номенклатурой

далее в реквизите табличной части ХарактеристикаНоменклатуры в событии Начало выбора пишут следующее

&НаКлиенте
Процедура ТоварыХарактеристикаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

ОбработкаТабличнойЧастиТоварыКлиент.ВыбратьХарактеристикуНоменклатуры(ЭтотОбъект, Элемент, СтандартнаяОбработка, Элементы.Товары.ТекущиеДанные);

КонецПроцедуры

и кусок кода общего модуля

// Процедура получения характеристик номенклатуры.
//
Процедура ВыбратьХарактеристикуНоменклатуры(Форма, Элемент, СтандартнаяОбработка, ТекущаяСтрока) Экспорт

СтандартнаяОбработка = Ложь;

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

Возврат;
Иначе
ПараметрыФормыВыбора = Новый Структура;
ПараметрыФормыВыбора.Вставить("ТекущийЭлемент"  , ТекущаяСтрока.Характеристика);
ПараметрыФормыВыбора.Вставить("ПараметрВладелец", ВладелецХарактеристики);
ПараметрыФормыВыбора.Вставить("Номенклатура"    , ТекущаяСтрока.Номенклатура);

ОткрытьФорму("Справочник.ХарактеристикиНоменклатуры.ФормаВыбора", ПараметрыФормыВыбора, Элемент);
КонецЕсли;
Иначе

Возврат;
КонецЕсли;
КонецЕсли;

КонецПроцедуры

т.е. открывается форма выбора ОТДЕЛЬНОГО справочника ХарактеристикаНоменклатуры с нужными параметрами по владельцу и т.д. (это обрабатывается в модуле самой формы выбора справочника ХарактеристикаНоменклатуры.

у Вас же нет отдельного справочника с характеристиками, они по Вашим словам хранятся в самом справочнике Номенклатура.
Каким образом у Вас у товара Spare Ribs со специями есть две характеристики - я не понимаю. Возможно у Вас в справочнике Номенклатура записаны два разных элемента с наименованием Spare Ribs со специями и у одного в наименовании номенклатуры стоит 300 грамм а у второго со специями.



antoneus

Вот да, каким образом удалось впихнуть две характеристики в один товар?

Вообще, если конфигурация самодельная - значит, неверное решение с точки зрения архитектуры, сделайте уже как в типовых справочник характеристик, подчиненный номенклатуре и не мучайтесь.

alexandr_ll

sali, А что еще может быть в кассе кроме наличных? Платежи могут проходить через кассу разные, а остаток денег в кассе - только наличные.

Максим75

alexandr_ll, да за это вопрос товарищу задавался кучу раз, но упертый))

sali


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск