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

Справочник Контрагенты со списком реквизитов, разных для видов контрагентов

Автор aleksandr80, 28 мая 2013, 22:52

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

aleksandr80

Здравствуйте! Помогите разобраться новичку, пожалуйста! Есть справочник "Контрагенты", перечисления "Виды контрагентов" -  Поставщик, КлиентЮрЛицо, КлиентФизЛицо. Надо реализовать контроль ввода реквизитов, разный для каждого вида. Создал в модуле менеджера функцию

Функция ПолучитьВажныеРеквизиты(ВидКонтрагента)

МассивРеквизитов = Новый Массив;

Если ВидКонтрагента = Перечисления.ВидыКонтрагентов.Поставщик ИЛИ ВидКонтрагента = Перечисления.ВидыКонтрагентов.КлиентЮрЛицо Тогда
   
   МассивРеквизитов.Добавить("ВидКонтрагента");
   МассивРеквизитов.Добавить("РасчетныйСчет");
   МассивРеквизитов.Добавить("УНП");
   МассивРеквизитов.Добавить("ДоговораКонтрагента");
   МассивРеквизитов.Добавить("ОсновнойДоговор");

ИначеЕсли ВидКонтрагента = Перечисления.ВидыКонтрагентов.КлиентФизЛицо Тогда
   
   МассивРеквизитов.Добавить("ВидКонтрагента");
   МассивРеквизитов.Добавить("Фамилия");
   МассивРеквизитов.Добавить("Имя");
   МассивРеквизитов.Добавить("Отчество");
   МассивРеквизитов.Добавить("Паспорт");
   МассивРеквизитов.Добавить("Выдан");

КонецЕсли;

КонецФункции

В модуле формы процедуру

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

Пишет: {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(5,2)}: Переменная не определена (Справочники)
   <<?>>Справочники.Контрагенты.ПолучитьВажныеРеквизиты(ВидКонтрагента); (Проверка: Тонкий клиент)

Реквизиты создал все, но в форме только код, наименование и вид контрагента.
Подскажите, в чем ошибка? Пробовал функцию создавать в общем модуле, ошибка та же.



Yura063

Цитата: aleksandr80 от 28 мая 2013, 22:52Пишет: {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(5,2)}: Переменная не определена (Справочники)
   <<?>>Справочники.Контрагенты.ПолучитьВажныеРеквизиты(ВидКонтрагента); (Проверка: Тонкий клиент)
Вам же написано! Справочники на клиенте вызывать нельзя!
Помогли, отблагодари!

MuI_I_Ika

Данный код нужно выполнять на сервере:

Справочники.Контрагенты.ПолучитьВажныеРеквизиты(ВидКонтрагента)

aleksandr80

Цитата: MuI_I_Ika от 29 мая 2013, 11:06
Данный код нужно выполнять на сервере:

Справочники.Контрагенты.ПолучитьВажныеРеквизиты(ВидКонтрагента)

Тогда с формой ничего не происходит - так и остаются 3 реквизита: код, наименование, вид контрагента

Dethmontt

На клиенте работа с формой, на сервере с базой данных... (Пусть сервер вам вернет на клиента этот массив с реквизитами и делайте с ним что хотите)
Добавлено: 30 мая 2013, 02:10


Цитата: aleksandr80 от 30 мая 2013, 00:09Справочники.Контрагенты.ПолучитьВажныеРеквизиты(ВидКонтрагента)

Тогда с формой ничего не происходит - так и остаются 3 реквизита: код, наименование, вид контрагента

Хочу вас огорчить, но с формой, от этого кода ничего не произойдет даже если вы умудритесь к базе данных с клиента обратиться.
Этот КОД никак не меняет форму, а только формирует массив строк
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

aleksandr80

Цитата: Dethmontt от 30 мая 2013, 02:07
На клиенте работа с формой, на сервере с базой данных... (Пусть сервер вам вернет на клиента этот массив с реквизитами и делайте с ним что хотите)



Тогда, может кто подскажет, как добиться вывода разных реквизитов для разных видов контрагентов?
Добавлено: 30 мая 2013, 19:04


Тогда, может кто подскажет, как добиться вывода разных реквизитов для разных контрагентов?

Dethmontt

Цитата: aleksandr80 от 30 мая 2013, 18:48Тогда, может кто подскажет, как добиться вывода разных реквизитов для разных контрагентов?

Вывода куда?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

aleksandr80

Цитирую задание: В конфигурации для хранения данных о контрагентах предприятия должен использоваться справочник "Контрагенты" с возможностью указания вида контрагента: перечисление "ВидыКонтрагентов"("Поставщик", "КлиентЮрЛицо", "КлиентФизЛицо"). Требуется установить контроль ввода характеристик контрагента в зависимости от указанного вида контрагента: если вид контрагента "Поставщик" или "КлиентЮрЛицо" -- вводятся данные о р/с контрагента, УНП, вводятся договора контрагента, основной договор контрагента; иначе - Фамилия, Имя, Отчество физ. лица, паспортные данные физ. лица.

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

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

Рейтинг@Mail.ru

Поиск