|
Не работает самописная кнопка подбора номенклатуры! | ☑ | ||
---|---|---|---|---|
0
23th
21.06.17
✎
05:49
|
Сделал кнопку для подбора товара:
Процедура КоманднаяПанель1Подбор(Кнопка) ФормаПодбора = Обработки.гарПодбор.ПолучитьФорму("Форма", ЭтаФорма, ЭтаФорма); ФормаПодбора.РежимВыбора = Истина; ФормаПодбора.МножественныйВыбор=Истина; ФормаПодбора.ЗакрыватьПриВыборе = Ложь; ФормаПодбора.Открыть(); КонецПроцедуры В самой обработке подбора сделал следующие Процедура СписокНоменклатурыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) ТекСтрока=ЭлементыФормы.СписокНоменклатуры.ТекущиеДанные; Если ТекСтрока.Ссылка.ЭтоГруппа тогда Возврат; Иначе СтандартнаяОбработка=Ложь; Форма = ПолучитьФорму("Форма1"); Форма.Номенклатура = ТекСтрока.Ссылка; Форма.ЕдиницаИзмерения = ТекСтрока.Ссылка.ЕдиницаДляОтчетов; СтруктураДанных = Форма.ОткрытьМодально(); ОповеститьОВыборе(СтруктураДанных); КонецЕсли; КонецПроцедуры Но почему то главную форму с товарами не опопвещается и туда ничего не попадает! |
|||
1
Альбатрос
21.06.17
✎
05:58
|
А кого, собссно, она должна оповещать?
|
|||
2
craxx
21.06.17
✎
06:01
|
(0) СтруктураДанных = Форма.ОткрытьМодально();
вот тут корень проблемы |
|||
3
sFAQer
21.06.17
✎
06:06
|
(2) 23th <- вот тут корень проблемы
|
|||
4
23th
21.06.17
✎
06:21
|
(3) Почему? Этож открывается форма ввода количества номенклатуры! а то иначе будет только одна номенклатура вылазить.
|
|||
5
craxx
21.06.17
✎
06:29
|
(4) вдумчиво посмотри как в типовых реализовано
+ не увидел обработку подбора |
|||
6
craxx
21.06.17
✎
06:30
|
(5) обработку выбора в смысле
|
|||
7
23th
21.06.17
✎
06:42
|
Убрал модально, все равно ничего не работает!!!
Процедура СписокНоменклатурыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) ТекСтрока=ЭлементыФормы.СписокНоменклатуры.ТекущиеДанные; Если ТекСтрока.Ссылка.ЭтоГруппа тогда Возврат; Иначе СтандартнаяОбработка=Ложь; //Форма = ПолучитьФорму("Форма1"); //Форма.Номенклатура = ТекСтрока.Ссылка; //Форма.ЕдиницаИзмерения = ТекСтрока.Ссылка.ЕдиницаДляОтчетов; СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Номенклатура", ТекСтрока.Ссылка); СтруктураДанных.Вставить("ЕдиницаИзмерения", ТекСтрока.Ссылка.ЕдиницаДляОтчетов); СтруктураДанных.Вставить("Количество", 1); //= Форма.ОткрытьМодально(); ОповеститьОВыборе(СтруктураДанных); КонецЕсли; КонецПроцедуры |
|||
8
craxx
21.06.17
✎
06:43
|
отладчик что говорит?
|
|||
9
23th
21.06.17
✎
06:45
|
(8) ОповеститьОВыборе(СтруктураДанных);
Здесь все нормально останавливается. А дальше то больше ничего и нет. Я все сделал как в типовой подбор сделан, но видимо чтото не учел. Вот хочу догнать в чем дело. |
|||
10
craxx
21.06.17
✎
06:54
|
(9) потому что у тебя владелец формы подбора должен быть элемент в который подбор идет
либо в форме вызывающей форму подбора пиши ОбработкуВыбора |
|||
11
23th
21.06.17
✎
07:23
|
Поменял владельца
ФормаПодбора = Обработки.гарПодбор.ПолучитьФорму("Форма", ЭлементыФормы.Товары,); Сделал в документе Процедуру Обработка выбора Процедура ОбработкаВыбора(ЗначениеВыбора, Источник) СтрокаТЧ = Товары.Добавить(); СтрокаТЧ.Номенклатура = ЗначениеВыбора.Номенклатура; СтрокаТЧ.ЕдиницаИзмерения = ЗначениеВыбора.ЕдиницаИзмерения; СтрокаТЧ.Количество = ЗначениеВыбора.Количество; СтрокаТЧ.Цена = УзнатьЦену(СтрокаТЧ); СтрокаТЧ.Сумма = СтрокаТЧ.Цена * СтрокаТЧ.Количество; КонецПроцедуры Но через отладчик поставил точку останова, так он в обработку выбора даже не заходит!!! И ничего не работает! |
|||
12
tixis
21.06.17
✎
07:33
|
(11)Поменял владельца
ФормаПодбора = Обработки.гарПодбор.ПолучитьФорму("Форма", ЭлементыФормы.Товары,); ВТорой параметр это не владелец, и верните в третий параметр ЭтаФорма |
|||
13
23th
21.06.17
✎
07:35
|
УРА!!!!!!!!!!
Заработало! Процедура ТоварыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) СтрокаТЧ = Товары.Добавить(); СтрокаТЧ.Номенклатура = ВыбранноеЗначение.Номенклатура; СтрокаТЧ.ЕдиницаИзмерения = ВыбранноеЗначение.ЕдиницаИзмерения; СтрокаТЧ.Количество = ВыбранноеЗначение.Количество; СтрокаТЧ.Цена = УзнатьЦену(СтрокаТЧ); СтрокаТЧ.Сумма = СтрокаТЧ.Цена * СтрокаТЧ.Количество; // Вставить содержимое обработчика. КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |