Гость
Форумы / [игнор отключен] [закрыт для гостей] / Сделать поле по умолчанию Наименование, вычисляемым / 25 сообщений из 42, страница 1 из 2
26.10.2014, 13:31
    #38787543
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Можно ли? Допустим нужно в справочнике выводимое по умолчанию поле "Наименование" сделать вычисляемым. То есть нужно сделать конкатенацию строк,например МаркаАвтомобиля + НомерАвтомобиля, и записать результат в поле "Наименование".
В C# это делается легко, например:
Код: c#
1.
2.
3.
4.
5.
6.
7.
public partial class Autocar
    {
        partial void FullAttributeAutocar_Compute(ref string result)
        {
            //полное наименование автомобиля
            result = this.AutocarMark + " № " + this.AutocarIdentificNumber;
        }


А как такое сделать в 1с?
...
Рейтинг: 0 / 0
26.10.2014, 14:11
    #38787566
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
в 1С для решения таких задач используют события,
например событие перед записью модуля справочника
...
Рейтинг: 0 / 0
28.10.2014, 09:09
    #38788879
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Shuhardв 1С для решения таких задач используют события,
например событие перед записью модуля справочника
А почему перед записью именно справочника, а не формы? Что-то не вижу у справочника событий. Или их надо самому в модуле создавать?
...
Рейтинг: 0 / 0
28.10.2014, 10:47
    #38789014
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_iShuhardв 1С для решения таких задач используют события,
например событие перед записью модуля справочника
А почему перед записью именно справочника, а не формы? Что-то не вижу у справочника событий. Или их надо самому в модуле создавать?Есть допустим 10 форм справочника. В какой будете править?

Форма это просто картинка не имеющая никакого смысла.
...
Рейтинг: 0 / 0
28.10.2014, 11:39
    #38789094
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Программист 1сorehov_iпропущено...

А почему перед записью именно справочника, а не формы? Что-то не вижу у справочника событий. Или их надо самому в модуле создавать?Есть допустим 10 форм справочника. В какой будете править?

Форма это просто картинка не имеющая никакого смысла.
В ФормаЭлемента кажется. Вот картинка. На какое событие можно повесить?
...
Рейтинг: 0 / 0
28.10.2014, 12:08
    #38789143
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_i,
В ФормаЭлемента кажется. Вот картинка. На какое событие можно повесить? А в шарпе в какой момент вычисляете? И про формы вам правильно сказали. Формирование наименования элемента справочника не должно зависеть от того, как вы этот элемент создаете, интерактивно или программно. Формы может вообще не быть никакой. Поэтому пользуйтесь событием ПередЗаписью объекта справочника, а не его форм.
...
Рейтинг: 0 / 0
28.10.2014, 13:01
    #38789198
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
javapeckerorehov_i,
А в шарпе в какой момент вычисляете? И про формы вам правильно сказали. Формирование наименования элемента справочника не должно зависеть от того, как вы этот элемент создаете, интерактивно или программно. Формы может вообще не быть никакой. Поэтому пользуйтесь событием ПередЗаписью объекта справочника, а не его форм.
В шарпе так же как и в 1с, есть разделение кода на серверной стороне и клиентской. Просто если нужно сделать в таблице вычисляемое свойство, сразу генерируется метод, в который добавляешь свой код.
...
Рейтинг: 0 / 0
28.10.2014, 13:08
    #38789207
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_iShuhardв 1С для решения таких задач используют события,
например событие перед записью модуля справочника
А почему перед записью именно справочника, а не формы? Что-то не вижу у справочника событий. Или их надо самому в модуле создавать?

долго объяснять,почему в форме не стоит, но если очень хочется - делай в ней в событии при изменении Маркаавтомобиля и номеравтомобиля

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

если речь о типовой конфигурации, то лучше вынести в подписку
...
Рейтинг: 0 / 0
07.11.2014, 22:31
    #38799093
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
А вообще в 1с имеется такое понятие как "вычисляемое свойство" или реквизит, как его вы называете. Или допустим как в MS SQL Server можно создать виртуальный вычисляемый столбец. А то что-то тривиальная задача превратилась у 1с в кучу геммора.
...
Рейтинг: 0 / 0
07.11.2014, 23:29
    #38799114
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_iА то что-то тривиальная задача превратилась у 1с в кучу геммора.А то что-то тривиальная задача превратилась у 1с в кучу геммора.
плохому танцору яйца мешают (с)
...
Рейтинг: 0 / 0
08.11.2014, 00:07
    #38799129
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Shuhardorehov_iА то что-то тривиальная задача превратилась у 1с в кучу геммора.А то что-то тривиальная задача превратилась у 1с в кучу геммора.
плохому танцору яйца мешают (с)
Ну давай, хороший танцор, покажи как в 1с одной строкой делается.
Исходные данные:НомерАвто-тип строка;МаркаАвто-тип СправочникСсылка.МоделиАвтомобилей.
Результат:Нужно сцепить данные из двух столбцов в один.
...
Рейтинг: 0 / 0
08.11.2014, 14:41
    #38799310
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Попробовал из модуля формы элемента.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	// Вставить содержимое обработчика.
		Если Не ЗначениеЗаполнено(Объект.НаименованиеАвтомобиля) Тогда
		Объект.НаименованиеАвтомобиля=Объект.МаркаАвтомобиля + " " + Объект.Наименование;
		КонецЕсли;
КонецПроцедуры


И выдает ошибку.
...
Рейтинг: 0 / 0
08.11.2014, 16:16
    #38799347
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Мдаааа


Объект.Наименование=""+вся ваша строка.

ps Жду вопроса как число марка автомобиля отобразить красиво...
...
Рейтинг: 0 / 0
08.11.2014, 17:21
    #38799368
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Программист 1сМдаааа


Объект.Наименование=""+вся ваша строка.

ps Жду вопроса как число марка автомобиля отобразить красиво...
Ничего не понял. Вы пьяны? )
...
Рейтинг: 0 / 0
09.11.2014, 00:31
    #38799571
wamaco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_iПопробовал из модуля формы элемента.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	// Вставить содержимое обработчика.
		Если Не ЗначениеЗаполнено(Объект.НаименованиеАвтомобиля) Тогда
		Объект.НаименованиеАвтомобиля=Объект.МаркаАвтомобиля + " " + Объект.Наименование;
		КонецЕсли;
КонецПроцедуры


И выдает ошибку.

Объект.НаименованиеАвтомобиля=Строка(Объект.МаркаАвтомобиля) + " " + Объект.Наименование;
...
Рейтинг: 0 / 0
09.11.2014, 00:59
    #38799597
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_iПрограммист 1сМдаааа


Объект.Наименование=""+вся ваша строка.

ps Жду вопроса как число марка автомобиля отобразить красиво...
Ничего не понял. Вы пьяны? )Объект.НаименованиеАвтомобиля=""+Объект.МаркаАвтомобиля + " " + Объект.Наименование;

ps Жду вопроса как число марка автомобиля отобразить без пробела.
...
Рейтинг: 0 / 0
09.11.2014, 00:59
    #38799599
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
wamaco
Объект.НаименованиеАвтомобиля=Строка(Объект.МаркаАвтомобиля) + " " + Объект.Наименование;
Спасибо большое. А то я что-то нигде не нашел в справочнике про явное приведение типов.
И еще вопрос. Вот этот реквизит справочника полное "НаименованиеАвтомобиля". Его данные ведь уже в БД попадают?
А мне бы этого не хотелось. Можно ли в 1С этот вычисляемый реквизит сделать так сказать виртуальным? Вычислять на клиенте, но чтобы в БД не заносился.
...
Рейтинг: 0 / 0
09.11.2014, 01:04
    #38799607
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Программист 1сorehov_iпропущено...

Ничего не понял. Вы пьяны? )Объект.НаименованиеАвтомобиля=""+Объект.МаркаАвтомобиля + " " + Объект.Наименование;

ps Жду вопроса как число марка автомобиля отобразить без пробела.
Почему без пробела? А вопрос я уже ниже задал.
...
Рейтинг: 0 / 0
09.11.2014, 01:51
    #38799651
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Решил написать функцию и разместить в общий модуль. Она еще пригодится кое-где.
Код: vbnet
1.
2.
3.
4.
Функция ПолноеНаименование(Параметр1,Параметр2)Экспорт
ПолноеНазвание=Строка(Параметр1) + " " + Параметр2;
Возврат ПолноеНазвание;
КонецФункции



Код: vbnet
1.
2.
3.
4.
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	Объект.НаименованиеАвтомобиля=РаботаСоСправочниками.ПолноеНаименование(Объект.МаркаАвтомобиля,Объект.Наименование);
КонецПроцедуры



Вроде правильно всё, для человека который первый раз увидел 1С неделю назад?
...
Рейтинг: 0 / 0
09.11.2014, 13:23
    #38799824
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_i,
прям офигеть какая нужная функция). А если еще водитель понадобится, новую напишете?
...
Рейтинг: 0 / 0
10.11.2014, 01:15
    #38800167
wamaco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
orehov_iwamacoОбъект.НаименованиеАвтомобиля=Строка(Объект.МаркаАвтомобиля) + " " + Объект.Наименование;
Спасибо большое. А то я что-то нигде не нашел в справочнике про явное приведение типов.
И еще вопрос. Вот этот реквизит справочника полное "НаименованиеАвтомобиля". Его данные ведь уже в БД попадают?
А мне бы этого не хотелось. Можно ли в 1С этот вычисляемый реквизит сделать так сказать виртуальным? Вычислять на клиенте, но чтобы в БД не заносился.

ЭлементыФормы.НаименованиеАвтомобиля=Строка(Объект.МаркаАвтомобиля) + " " + Объект.Наименование;

НаименованиеАвтомобиля - идентификатор поля ввода или текст, размещенная на форме.
...
Рейтинг: 0 / 0
10.11.2014, 09:16
    #38800272
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
wamaco, все смешалось, объекты, элементы формы...
...
Рейтинг: 0 / 0
10.11.2014, 09:50
    #38800295
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Программист 1сwamaco, все смешалось, объекты, элементы формы...

они на шарпее также все месят - и г.вно и отруби в одном ведре?
...
Рейтинг: 0 / 0
10.11.2014, 10:34
    #38800367
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
Последний выдох ГПЖ, формошлепство оно на любом языке формошлепство, хоть на шарпе, хоть на 1с, хоть на джаве, хоть на c++
...
Рейтинг: 0 / 0
10.11.2014, 10:50
    #38800399
orehov_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать поле по умолчанию Наименование, вычисляемым
wamacoorehov_iпропущено...

Спасибо большое. А то я что-то нигде не нашел в справочнике про явное приведение типов.
И еще вопрос. Вот этот реквизит справочника полное "НаименованиеАвтомобиля". Его данные ведь уже в БД попадают?
А мне бы этого не хотелось. Можно ли в 1С этот вычисляемый реквизит сделать так сказать виртуальным? Вычислять на клиенте, но чтобы в БД не заносился.

ЭлементыФормы.НаименованиеАвтомобиля=Строка(Объект.МаркаАвтомобиля) + " " + Объект.Наименование;

НаименованиеАвтомобиля - идентификатор поля ввода или текст, размещенная на форме.
Я не про форму спрашиваю, а про сам справочник. Данные реквизита справочника попадают в БД, так или нет?
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Сделать поле по умолчанию Наименование, вычисляемым / 25 сообщений из 42, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]