|
Справочники | ☑ | ||
---|---|---|---|---|
0
Dmitry017
28.02.13
✎
18:23
|
Задача: обработать запись в реквизиты справочника.
Я создал следующие реквизиты: наименованиеТовара, Цена, Количество, поставщик. В каждом справочнике имеется стандартный реквизит "Наименование". Я хочу чтобы значение в реквизите "Наименование" являлось конкатенацией строк "Товар "+ НаименованиеТовара. Для этого я сделал следующее (обработал всё в модуле формы справочника: Перем Буфер; &НаКлиенте Процедура НаименованиеТовараПриИзменении(Элемент) // Вставить содержимое обработчика. Буфер = Элемент.ТекстРедактирования; КонецПроцедуры &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) //Вставить содержимое обработчика КопироватьВНаименование(); КонецПроцедуры &НаСервереБезКонтекста Процедура КопироватьВНаименование() Справочник = Справочники.ХлебобулочныеИзделия.ПолучитьСсылку().ПолучитьОбъект(); Справочник.Наименование = "Товар " + Строка(Справочник.НаименованиеТовара); Справочник.Записать(); КонецПроцедуры // КопироватьВНаименование() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Перем Буфер; &НаКлиенте Процедура НаименованиеТовараПриИзменении(Элемент) // Вставить содержимое обработчика. Буфер = Элемент.ТекстРедактирования; КонецПроцедуры &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) //Вставить содержимое обработчика КопироватьВНаименование(); КонецПроцедуры &НаСервереБезКонтекста Процедура КопироватьВНаименование() Справочник = Справочники.ХлебобулочныеИзделия.ПолучитьСсылку().ПолучитьОбъект(); Справочник.Наименование = "Товар " + Строка(Справочник.НаименованиеТовара); Справочник.Записать(); КонецПроцедуры // КопироватьВНаименование() Изначально была попытка сделать так, но почему-то у меня не всплывали подсказки о существовании полей Наименование и НаименованиеТовара и компилятор ругался Справочники.ХлебобулочныеИзделия.Наименование = "Товар " + Справочники.ХлебобулочныеИзделия.НаименованиеТовара; 1 Справочники.ХлебобулочныеИзделия.Наименование = "Товар " + Справочники.ХлебобулочныеИзделия.НаименованиеТовара; Кстати, а почему так делать нельзя, можете подсказать? и как мне правильно сделать? Сейчас ошибка во время выполнения {Справочник.ХлебобулочныеИзделия.Форма.ФормаЭлемента.Форма(1 9)}: Значение не является значением объектного типа (Наименование) Справочник.Наименование = "Товар " + Строка(Справочник.НаименованиеТовара); |
|||
1
Reset
28.02.13
✎
18:25
|
Готовь зонтик :)
|
|||
2
viktor_vv
28.02.13
✎
18:34
|
(1) Народ разошелся :).
(0) Как по твоему, какому конкретно элементу справочника ты таким кодом пытаешься присвоить наименование ? Справочник = Справочники.ХлебобулочныеИзделия.ПолучитьСсылку().ПолучитьОбъект(); Справочник.Наименование = "Товар " + Строка(Справочник.НаименованиеТовара); |
|||
3
Dmitry017
28.02.13
✎
18:34
|
в смысле
|
|||
4
Dmitry017
28.02.13
✎
18:35
|
Ну вот. Имеется форма. Я щёлкнул на поле "НаименованиеТовара" и обработал При изменении. А потом в форме элемента справочника я вроде осуществляю запись. Хорошо. а как тогда правильно работать с текущим элементом?
|
|||
5
viktor_vv
28.02.13
✎
18:41
|
В форме элемента так не пробовал :)
Наименование = "Товар " + НаименованиеТовара; |
|||
6
zladenuw
28.02.13
✎
18:46
|
(0) переходи на 8.3 там можно в менеджере объекта задавать свое представление :)
|
|||
7
Dmitry017
28.02.13
✎
18:49
|
Я написал:
Процедура КопироватьВНаименование() Наименование = "Товар " + НаименованиеТовара; КонецПроцедуры // КопироватьВНаименование() В итоге: {Справочник.ХлебобулочныеИзделия.Форма.ФормаЭлемента.Форма(18,29)}: Переменная не определена (НаименованиеТовара) Наименование = "Товар " + <<?>>НаименованиеТовара; (Проверка: Сервер) Хотя у справочника имеется реквизит НаименованиеТовара. |
|||
8
Reset
28.02.13
✎
18:56
|
(7) Объект.Наименование="Товар "+Объект.НаименованиеТовара
|
|||
9
Dmitry017
28.02.13
✎
19:12
|
{Справочник.ХлебобулочныеИзделия.Форма.ФормаЭлемента.Форма(18,3)}: Переменная не определена (Объект)
<<?>>Объект.Наименование = "Товар " + Объект.НаименованиеТовара; (Проверка: Сервер) {Справочник.ХлебобулочныеИзделия.Форма.ФормаЭлемента.Форма(18,36)}: Переменная не определена (Объект) Объект.Наименование = "Товар " + <<?>>Объект.НаименованиеТовара; (Проверка: Сервер) |
|||
10
viktor_vv
28.02.13
✎
19:20
|
Вместо
&НаСервереБезКонтекста только &НаСервере |
|||
11
viktor_vv
28.02.13
✎
19:20
|
Хотя это в принипе и на клиенте можно делать.
|
|||
12
Dmitry017
28.02.13
✎
19:29
|
Работает! А вы можете пояснить почему НаСервереБезКонтекста не работала?
|
|||
13
zladenuw
28.02.13
✎
19:29
|
(12) потому что БезКонтекста. у тебя объект не доступен.
|
|||
14
Dmitry017
28.02.13
✎
19:30
|
Спасибо большое!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |