0 / 0 / 0
Регистрация: 10.02.2019
Сообщений: 29
1
1C 8.x

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

03.03.2019, 18:01. Показов 1180. Ответов 8

Привет! Есть такой вопрос: В справочнике Сотрудники в реквизитах есть четыре поля: Наименование; Подразделение; Должность; ФизическоеЛицо. Данные по полям Подразделение, Должность и ФизическоеЛицо берутся из соответствующих справочников. Мне надо чтобы в поле Наименование данные выбранные из остальных трех полей собирались в одну строку. Я пробовал реализовать это через следующий код, но почему то не получается. Код привожу ниже:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
&НаКлиенте
Процедура ПодразделениеНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
    ПодписьФизЛица();
КонецПроцедуры
 
&НаКлиенте
Процедура ДолжностьНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
    ПодписьФизЛица();
КонецПроцедуры
 
&НаКлиенте
Процедура ФизическоеЛицоНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
    ПодписьФизЛица();
КонецПроцедуры
 
&НаКлиенте
Процедура ПодписьФизЛица() Экспорт
     Объект.Наименование = Объект.Подразделение + " " + Объект.Должность + " " + Объект.ФизическоеЛицо;
КонецПроцедуры
 
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    ПодписьФизЛица();
КонецПроцедуры
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2019, 18:01
Ответы с готовыми решениями:

Можно ли сделать чтобы несколько проектов собирались в одну папку?
Добрый день. Есть два проекта в одном решении, использующие одни и те же библиотеки. Можно как-то...

Как сделать так, чтобы длинная ссылка <a href></a> не вытягивалась в одну строку?
Друзья, подскажите, как сделать так, чтобы длинная ссылка &lt;a href&gt;&lt;/a&gt; не вытягивалась в одну...

Дополнить макрос так, чтобы данные с первой книги не собирались, если есть условие в виде даты
Добрый вечер! Помогите, пожалуйста, решить один вопрос. Буду рад абсолютно любой помощи! Есть 2...

Как сделать так, чтобы код вставил выбранные элементы в общий div?
Как сделать так, чтобы код ниже вставил все 7 элементов в общий div? а не каждый элемент по...

8
1746 / 1183 / 424
Регистрация: 16.01.2015
Сообщений: 5,150
03.03.2019, 18:15 2
Ledgik, Конкатенация (ваше Объект.Наименование = Объект.Подразделение + " " + Объект.Должность + " " + Объект.ФизическоеЛицо ) возможно для СТРОКИ, т.к. Объект.Наименование - это Строка. А ваши Объекты - это ссылки на соответствующие справочники, а не строки. Переделайте на строки и все получится
0
0 / 0 / 0
Регистрация: 10.02.2019
Сообщений: 29
03.03.2019, 20:52  [ТС] 3
Буду разбираться. Но вот тут
HTML5
1
http://www.intuit.ru/studies/courses/2318/618/lecture/13472?page=6
я на подобный пример наткнулся через объект где все реализовано. Там почему то все работает, а у меня - нет. Их код привожу:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
&НаКлиенте
Процедура ФизическоеЛицоПриИзменении(Элемент)
  СформироватьНаименование();
КонецПроцедуры
 
&НаКлиенте
Процедура ПодразделениеПриИзменении(Элемент)
  СформироватьНаименование();
КонецПроцедуры
 
Процедура СформироватьНаименование()
  Объект.Наименование=Объект.ФизическоеЛицо.Наименование +" ("+
  Объект.Подразделение.Наименование+") ";
КонецПроцедуры
Помнишь эпизод в Шерлоке Холмсе когда он Ватсону про чувствительные точки на ушах говорит и сам смотрит на отражение в кофейнике, а Ватсон восклицает: Черт возьми, как? Вот я смотрю и диву даюсь.
А как Объекты преобразовать в Строки?
0
1746 / 1183 / 424
Регистрация: 16.01.2015
Сообщений: 5,150
03.03.2019, 21:10 4
Ledgik, А разницу в своем коде и приведенном коде не видишь? Ну ведь ясно, что твое
1C
1
Объект.Наименование = Объект.Подразделение + " " + Объект.Должность + " " + Объект.ФизическоеЛицо;
абсолютно не равно приведенному примеру
1C
1
2
Объект.Наименование=Объект.ФизическоеЛицо.Наименование +" ("+
  Объект.Подразделение.Наименование+") ";
0
1099 / 657 / 191
Регистрация: 22.04.2013
Сообщений: 4,895
Записей в блоге: 1
03.03.2019, 21:11 5
потому шта Объект.Наименование это строка
Объект.ФизическоеЛицо.Наименование строка
Объект.Подразделение.Наименование строка
то есть строка присвоить строка + +" ("+ строка + ") ";
а у вас написано строка присвоить справочник.подразделение + справочник.должность + ...
о чём вам полакс и написал.
прочтите ещё раз и подумайте, в чём разница в вашем коде и в том, который из интуита
0
0 / 0 / 0
Регистрация: 10.02.2019
Сообщений: 29
04.03.2019, 07:19  [ТС] 6
Как я понимаю в примере Объект.ФизическоеЛицо.Наименование - Объект.ФизическоеЛицо - это ссылка на справочник ФизическоеЛицо, а Наименование - строка из справочника ФизическоеЛицо? Так? И значит Объект.Наименование у меня должен быть записан как то так: Объект.Сотрудники.Наименование, где ссылка Объект.Сотрудники - ссылка на справочник в котором я веду работу, а Наименование - это строка в моем справочнике Сотрудники? Или я ошибаюсь?
0
1099 / 657 / 191
Регистрация: 22.04.2013
Сообщений: 4,895
Записей в блоге: 1
04.03.2019, 07:57 7
наименование - это стандартный реквизит. поинтересуйтесь
0
0 / 0 / 0
Регистрация: 10.02.2019
Сообщений: 29
05.03.2019, 19:54  [ТС] 8
Все решалось еще проще. Подсказали на одном форуме решение:

1C
1
Объект.Наименование = "" + Объект.Подразделение + " " + Объект.Должность + " " + Объект.ФизическоеЛицо;
И все собралось в поле формы Наименование: Администрация Генеральный Директор Иванов И.И.
0
1099 / 657 / 191
Регистрация: 22.04.2013
Сообщений: 4,895
Записей в блоге: 1
05.03.2019, 20:49 9
djn b ckfdyj
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2019, 20:49
Помогаю со студенческими работами здесь

Как сделать, так чтобы программа выводила наименование цвета, как здесь?
http://colors.aeio.ru/color/fffffe Я создал базу из 1002 цветов но это вообще не то. Я подгрузил...

Как сделать чтобы при нажатии на наименование в листбоксе, он всю строку этого наименования брал и вставлял в форму 1
Задание во вложении. Проблема со вторым пунктом, редактированием. Как сделать чтобы при нажатии...

Как построить запрос SQL так, чтобы формировалось дополнительное поле содержащее сумму двух полей?
Как построить запрос SQL так, чтобы формировалось дополнительное поле содержащее сумму двух полей....

Данные из полей трех форм Access выгрузить в одну табличную форму Excel
Из Access выгружаются данные в Excel. Данные нужны из полей трех форм Access выгрузить в одну...

Как сделать так, чтобы программа читала 1 и 2 строку а после цикла переходила на 2 и 3, а не 3 и 4 строку?
const dt=0.5; m = 10; n = 10; name1 = 'g(t).txt'; name2 = 'C.txt'; var a, x,...

Как сделать так, чтобы Memo появлялось поверх остальных Memo?
как сделать так чтобы memo появлялось поверх остальных memo


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru