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

Создание названия элемента справочника из других реквизитов.

Автор TheDoZeN, 01 апр 2011, 17:05

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

TheDoZeN

Добрый день!

Создаю базу для работы с клиентами. В справочнике Автомобили клиентов Наименование мне как таковое не нужно. Но хочу сделать так, чтобы при записи наименование складывалось из двух других реквизитов: Марка, модель ТС и гос. номер.

Но для начала хочу просто присвоить реквизиту наименование значение "123"

Процедура ПриЗаписи()

   А = СоздатьОбъект("Справочник.АвтомобилиКлиентов");
   А.ВыбратьЭлементы();
   
   Пока А.ПолучитьЭлемент() = 1 Цикл
      А.Наименование = "123";
   КонецЦикла;
      
КонецПроцедуры

Но при выполнении ничего не происходит...

Прбовал писать:

...
   А.ВыбратьЭлементы(ТекущийЭлемент());
   А.Наименование = "123";
...

Но тогда выдает ошибку:

А.Наименование = "123";
{Справочник.АвтомобилиКлиентов.Форма.Модуль(8)}: Изменено Наименование! Может быть нарушена последовательность выборки!


Подскажите, пожалуйста, как быть... И возможно ли вообще это сделать.

TheDoZeN

Добавил в оба варианта... Ничего не изменилось ни в том, и  другом случае...  :(

Flamepayne

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

volodya1122

если в справочнике АвтомобилиКлиентов/ Форма элемента то там ничего выдумывать ненужно.
Вот например как в моей конфе создается наименование клиента из трех реквизитов: фамилия,

имя и отчество
наименование= СокрЛП(Прізвище)+" "+СокрЛП(Імя)+" "+СокрЛП(ПоБатькові)

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

АвтомобилиКлиентов, или где там у вас заполнено.
то нужно сделать иначе.
Я в своей конфе сделал внешнюю обработку. Что именно. Мне нужно было в наименовании

(которое формируется с реквизитов (Прізвище)  ( Імя) (ПоБатькові))) заменить латинскую "i" на

Украинскую. вот что я сделал. Может поможет, если это то что Вам нужно

TheDoZeN

Цитата: sergejK74 от 01 апр 2011, 17:24
Откуда вызывается процедура ПриЗаписи()? Если Из модуля объекта то напиши просто Наименование = "123";

Процедура вызывается из модуля формы диалога.


TheDoZeN

Цитата: sergejK74 от 01 апр 2011, 17:24
Откуда вызывается процедура ПриЗаписи()? Если Из модуля объекта то напиши просто Наименование = "123";

Наименование = "123"; работает... Спасибо!

Но

Наименование = МаркаМодельТС + " " + ГосНомер;

Не работает...  :dfbbdrfb:
Пишу потом:

Сообщить(Наименование);
Сообщить(МаркаМодельТС);
Сообщить(ГосНомер);

Выводит только марку-модель и номер тс. Наименование пустое...

TheDoZeN

P.S. Марка-модель Тип: Справочник.МаркиМоделиТС
      ГосНомер Тип: Строка, 10.

volodya1122

Попробуй    Наименование =  Строка(МаркаМодельТС)+ " " + ГосНоме
Или    Наименование = МаркаМодельТС.наименование+ " " + ГосНоме

TheDoZeN

Цитата: volodya1122 от 02 апр 2011, 13:38
Попробуй    Наименование =  Строка(МаркаМодельТС)+ " " + ГосНоме
Или    Наименование = МаркаМодельТС.наименование+ " " + ГосНоме

Спасибо большое... А то я уже вспотел выдумывать!!! :zebzdr:

СПАСИБО ВСЕМ! )

volodya1122


Теги:

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

Рейтинг@Mail.ru

Поиск