powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Сделать поле по умолчанию Наименование, вычисляемым
25 сообщений из 42, страница 1 из 2
Сделать поле по умолчанию Наименование, вычисляемым
    #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
Сделать поле по умолчанию Наименование, вычисляемым
    #38787566
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 1С для решения таких задач используют события,
например событие перед записью модуля справочника
...
Рейтинг: 0 / 0
Сделать поле по умолчанию Наименование, вычисляемым
    #38788879
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shuhardв 1С для решения таких задач используют события,
например событие перед записью модуля справочника
А почему перед записью именно справочника, а не формы? Что-то не вижу у справочника событий. Или их надо самому в модуле создавать?
...
Рейтинг: 0 / 0
Сделать поле по умолчанию Наименование, вычисляемым
    #38789014
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_iShuhardв 1С для решения таких задач используют события,
например событие перед записью модуля справочника
А почему перед записью именно справочника, а не формы? Что-то не вижу у справочника событий. Или их надо самому в модуле создавать?Есть допустим 10 форм справочника. В какой будете править?

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

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

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

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

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

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


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


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

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


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

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


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

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


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

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

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

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

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



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



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

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

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

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

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

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

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


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