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

Марка и серии номенклатуры

Автор sali, 04 дек 2024, 07:43

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

sali

Цитата: Максим75 от 05 дек 2024, 09:39и с последующей обработкой в оповещении, что эта форма возвращает.
блин, опять же, СМОТРЕЛ. обработку оповещения смотрел, процесс ее смотрел. там на форме док1 создается оповещение с открытием формы, форма док2 открывается в ней что-то происходит и она возвращает данные в форму док1 и уда-то помещаются шоб видно их было
а здесь мне не нужно их видеть,  а чтоб сохранились и после пробития чека записались
процесс таков -
выбрали маркированный товар
вылезло окно для сканирования марки - если марку одну и ту же отсканировали дважды выдавать сообщение "такая уже существует"
нажать окей и мы возвращаемся на форму рмк, а данные где -то там хранятся   

Максим75

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

sali

Максим75, Если СтруктураПараметров.ТипМаркировки = ПРЕДОПРЕДЕЛЕННОЕЗНАЧЕНИЕ("Перечисление.ТипыМаркировкиККТ.МаркированныйТовар") Тогда 
Оповещение = Новый ОписаниеОповещения("МаркаЗавершение", ЭтотОбъект);
ОткрытьФорму("Обработка.РабочееМестоКассира.Форма.ФормаМарка",, ЭтотОбъект,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);   
КонецЕсли;
что-то типо этого...
&НаКлиенте
Процедура МаркаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(Результат) Тогда
//ЗаполнитьТЧ(Результат);
        Сообщить("данные пришли");
КонецЕсли;
КонецПроцедуры

Максим75

sali, да, что-то типа такого

через Элементы.Товары (или как там у Вас табличная часть зовется).ТекущиеДанные Вы получаете данные к текущей строке табличной части в документе (обработке). Ну а дальше через точку доступ к нужному реквизиту табличной части. и туда что-то пишите.
Ну посмотрите, как у Вас реализовано подсчет суммы по строке. Она же должна меняться, если количество меняете. Там же тоже к нужному реквизиту обращаетесь и пишите.

sali

Цитата: Максим75 от 05 дек 2024, 10:47через Элементы.Товары (или как там у Вас табличная часть зовется).ТекущиеДанные
эм...это другая табличная частьСнимок экрана (60).png
как бы то куда мне нужно записать находиться в тч МаркиСерииНоменклатуры, в объекте ее нет, а обратиться к ней и к ее реквизитам(чтобы указать кто есть кто) обратиться через
тчДок = документ.тч.добавить() или запросом на сервере

Максим75

sali, да все равно, где оно находится.
у Вас табличная часть МаркиСерии должна быть связана с табличной частью Товары по ключу (в очередной раз говорю, что смотрите типовую). Чтобы было понятно, к какому товару эта марка относится.

sali

Максим75, по какой причине оповещение может ссылаться на другую процедуру?
Если СтруктураПараметров.ТипМаркировки = ПРЕДОПРЕДЕЛЕННОЕЗНАЧЕНИЕ("Перечисление.ТипыМаркировкиККТ.МаркированныйТовар") Тогда   
Оповещения = Новый ОписаниеОповещения("МаркаЗавершение", ЭтотОбъект);
ОткрытьФорму("Обработка.РабочееМестоКассира.Форма.ФормаМарка",, ЭтотОбъект,,,, ОбработчикОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);   
КонецЕсли;
КонецЕсли; 
на оповещении у меня не ссылается на мое , а на обработчик в этом же модуле
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" Тогда
Если Параметр[1] = Неопределено Тогда
Штрихкод = Параметр[0];
Иначе
Штрихкод = Параметр[1][1];
КонецЕсли;

ОбработатьПолученныйШКНаКлиенте(Штрихкод);
КонецЕсли;
КонецЕсли;

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

sali

sali, и она в принципе туда не падает. по строкам проходит , а в обработчик формы марки не падает

Максим75

sali, что передаете в качестве обработчика оповещения, туда и попадает. все честно.
вот если бы Вы внимательно смотрели, что я Вам писал, то увидели бы, что при открытии формы передается одним из параметров описание оповещения (в Вашем случае Вы его назвали просто Оповещение), а Вы передаете в открываемую форму ОбработчикОповещения.
чувствуете разницу?

sali

Цитата: Максим75 от 05 дек 2024, 12:58(в Вашем случае Вы его назвали просто Оповещение), а Вы передаете в открываемую форму ОбработчикОповещения.
это я изменить обратно ОбработчикОповещения на Оповещение забыл.

Теги:

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

Рейтинг@Mail.ru

Поиск