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

Как получить значения элементов формы "ПриИзменении"?

Автор Opty, 06 мая 2015, 17:14

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

Opty

Всем доброго времени суток! Я совсем совсем начинающий в 1С программер, пробую сделать первую программку по отчетности для друга, столкнулся с проблемой:

В модуле объекта Формы документа у меня стоит автозаполнение Магазина в зависимости от выбранного Продавца (выбираем Продавца - и поле Магазин должно автоматом заполниться по связи, которая в справочнике у Продавца стоит)

ЦитироватьПроцедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Магазин = Продавец.Магазин;
КонецПроцедуры

И это корректно отрабатывает. Но пытаюсь тоже самое сделать при изменении значения поля, чтобы было сразу видно, что изменение произошло:

ЦитироватьПроцедура ПродавецПриИзменении(Элемент)
    Магазин = Продавец.Магазин;
КонецПроцедуры

И получаю ошибку:

Цитировать{Документ.Заказы.Форма.ФормаДокумента.Форма(4,12)}: Переменная не определена (Продавец)
Магазин = «?»Продавец.Магазин; (Проверка: Тонкий клиент)

Пробовал через shift+f9 с точкой останова понять что откуда вызвать, но кроме ЭЛЕМЕНТ ничего не получается, а в элементе необходимые значения отсутствуют.

Подскажите, пожалуйста, кто может!

Rasty

Поставь точку на "Магазин = Продавец.Магазин" и посмотри что у тебя в "Продавец", судя по скринам, у тебя там пусто
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

herosmart

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

Opty

Цитата: Rasty от 06 мая 2015, 17:41
Поставь точку на "Магазин = Продавец.Магазин" и посмотри что у тебя в "Продавец", судя по скринам, у тебя там пусто

Там действительно пусто


Вот я и не могу понять почему? Ведь при том же самом запросе ПриЗаписи Продавец выдает полную информацию.

А вот ПриИзменении я не могу понять что искать. Элемент и Элементы не выдают ответов, ТекущиеДанные вообще отсутствуют...
Добавлено: 07 мая 2015, 12:15


Цитата: herosmart от 06 мая 2015, 21:20
Если честно, непонятно, почему у Вас вообще поле магазин заполняется. Какой тип у реквизита Продавец? Если это справочник, а магазин - это реквизит этого справочника, то можно у поля Продавец свойство СвязиПараметровВыбора заполнить.

Есть два справочника - Продавцы и Магазины
http://dl2.joxi.net/drive/0004/0543/291359/150507/4c4d8819aa.jpg

У продавцов реквизит Магазин является ссылкой на справочник Магазины


Логично, что в форме документа Заказ, выбирая продавца, можно автоматически получить данные Магазина, в котором Продавец работает. Вот при сохранении такая процедура срабатывает корректно, а ПриИзменении - нет.

Почитал про СвязиПараметровВыбора, попробовал и так и сяк, но видимо не к тому полю я это цепляю что ли....

herosmart

Цитата: Opty от 07 мая 2015, 12:04
Цитата: Rasty от 06 мая 2015, 17:41
Поставь точку на "Магазин = Продавец.Магазин" и посмотри что у тебя в "Продавец", судя по скринам, у тебя там пусто

Там действительно пусто


Вот я и не могу понять почему? Ведь при том же самом запросе ПриЗаписи Продавец выдает полную информацию.

А вот ПриИзменении я не могу понять что искать. Элемент и Элементы не выдают ответов, ТекущиеДанные вообще отсутствуют...
Добавлено: 07 мая 2015, 12:15


Цитата: herosmart от 06 мая 2015, 21:20
Если честно, непонятно, почему у Вас вообще поле магазин заполняется. Какой тип у реквизита Продавец? Если это справочник, а магазин - это реквизит этого справочника, то можно у поля Продавец свойство СвязиПараметровВыбора заполнить.

Есть два справочника - Продавцы и Магазины
http://dl2.joxi.net/drive/0004/0543/291359/150507/4c4d8819aa.jpg

У продавцов реквизит Магазин является ссылкой на справочник Магазины


Логично, что в форме документа Заказ, выбирая продавца, можно автоматически получить данные Магазина, в котором Продавец работает. Вот при сохранении такая процедура срабатывает корректно, а ПриИзменении - нет.

Почитал про СвязиПараметровВыбора, попробовал и так и сяк, но видимо не к тому полю я это цепляю что ли....

Там Вам нужно сделать отбор по владельцу. Объект - Ваше поле, режим изменения - очищать. И все.

cska-fanat-kz

в ПродавецПриИзменении() надо написать
Объект.Магазин = ПолучитьМагазинПоПродавцуНаСервере(Объект.Продавец);

и добавить серверную НЕконтекстную функцию
Функция ПолучитьМагазинПоПродавцуНаСервере(Продавец)
Возврат Продавец.Магазин;
КонецФункции

ВСЕ!

"Магазин = Продавец.Магазин;" сработало потому что это выполняется в модуле объекта, в модуле формы - по другому.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Rasty

Заполни поле продавец и будет тебе счастливое счастье. Какой тип у Продавец? Надеюсь не строка, число, булево...
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Opty

Цитата: Rasty от 07 мая 2015, 13:54
Заполни поле продавец и будет тебе счастливое счастье. Какой тип у Продавец? Надеюсь не строка, число, булево...
тип реквизита Продавец в документе заказы - СправочникСсылка.Продавцы
Добавлено: 07 мая 2015, 14:41


Цитата: cska-fanat-kz от 07 мая 2015, 13:09
в ПродавецПриИзменении() надо написать
Объект.Магазин = ПолучитьМагазинПоПродавцуНаСервере(Объект.Продавец);

и добавить серверную НЕконтекстную функцию
Функция ПолучитьМагазинПоПродавцуНаСервере(Продавец)
Возврат Продавец.Магазин;
КонецФункции

ВСЕ!

"Магазин = Продавец.Магазин;" сработало потому что это выполняется в модуле объекта, в модуле формы - по другому.

Вах, спасибо, блестяще!!!!!!!! Я и спрашивал, просто наверное спрашивать пока еще не умею правильно, как получить данные нужные)

Теги:

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

Рейтинг@Mail.ru

Поиск