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

Автоматичекое заполнение поля

Автор mashencev_anton, 03 дек 2013, 05:51

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

SERG30RUS

ДОБРОГО ДНЯ! У меня не совсем та задача, которая была приведена выше.
Имею Справочник - Контрагенты (в нем есть текстово поле ВсеРеквизитыСтрокой)
Есть документ - ВыписатьСчет
Задача - при выборе в документе ВыписатьСчет Клиента из ссылочного поля на справочник-контрагенты...в поле ВсеРеквизиты должно автоматически вставляться содержимое поля ВсеРеквизитыСтрокой из справочника-КонтрАгенты.

Я написал процедуру при изменении поля клиент и функцию...

&НаКлиенте
Процедура КлиентПриИзменении(Элемент)                     
Клиент = ПолучитьКлиент(Объект.Клиент);
Объект.ВсеРеквизиты = Объект.ВсеРеквизитыСтрокой; 
КонецПроцедуры

&НаСервере
Функция ПолучитьКлиент(Ссылка)
Клиент = Справочники.Контрагенты.НайтиПоНаименованию(Ссылка.Наименование);
Возврат Клиент;
КонецФункции

При синтаксическом контроле - ошибок нет
В режиме отладки ругается :
Поле объекта не обнаружено (ВсеРеквизитыСтрокой)
{Документ.ВыписатьСчет.Форма.ФормаДокумента.Форма(35)}:Объект.ВсеРеквизиты = Объект.ВсеРеквизитыСтрокой;
понимаю отчасти в чем дело, но запутался...


antoneus

Потому что у объекта (документа "выписать счет") нет реквизита ВсеРеквизитыСтрокой, это же очевидно, этот реквизит есть у контрагента.
А зачем копировать в реквизит документа содержимое реквизита другого реквизита этого документа? Подозреваю, эта информация нужна в текстовом поле на форме?

SERG30RUS

antoneus, эта информация нужна в печатной форме документа "выписатьсчет"...и отделу при выпискисчета для сверки точно ли все сходится по данным

antoneus

Ну так и вытаскивайте ее туда из контрагента, зачем копировать реквизит в реквизит документа? Теперь представьте, что в контрагенте содержимое реквизита поменялось. В документе оно останется прежним - и вот что тогда?

SERG30RUS

antoneus, мне нужен реквизит из справочника ... в реквизите документа....вытащить и не получается  :fdbsdfbsd:
Может быть, тогда не делать реквизит дополнительный...а сделать только в печатной форме ?

antoneus

Не нужен вам реквизит из справочника в реквизите документа. Конечно, не надо делать дополнительный реквизит. А если в печатной форме понадобится двадцать реквизитов из справочника - их все в документ тащить? Конечно, надо в печатную форму тащить этот реквизит из справочника напрямую.

SERG30RUS

antoneus, получается через мой параметр в печатной форме "ВсеРеквизиты".
Шапка.Параметры.ВсеРеквизиты =    ( а тут как указать ссылку на реквизит справочника Контрагенты - реквизит ВсереквизитыСтрокой) ???

antoneus

Шапка.Параметры.ВсеРеквизиты = Объект.Клиент.ВсеРеквизитыСтрокой;

Ну или запросом. Все на сервере, разумеется.

SERG30RUS

antoneus, {Документ.ВыписатьСчет.МодульМенеджера(34,35)}: Переменная не определена (Объект)
   Шапка.Параметры.ВсеРеквизиты = <<?>>Объект.Клиент.ВсеРеквизитыСтрокой;  (Проверка: Сервер)

antoneus

Как в печатной форме заполняются другие параметры-то? По аналогии и сделайте. Ссылка на документ передается, наверно, в параметре процедуры, вот вместо "Объект" подставляйте имя этого параметра.

Теги:

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

Рейтинг@Mail.ru

Поиск