Имя: Пароль:
1C
1С v8
Автозаполнение реквизита помогите
0 Dyspho
 
26.11.15
15:23
Есть Справочник Клиенты и Справочник Телефоны
Телефоны подчинены Клиентам
Как сделать в Документе Заказ, чтобы при выборе Реквизита Клиент, реквизит Телефон заполнялся автоматом
1 Горогуля
 
26.11.15
15:24
программно при изменении
2 Горогуля
 
26.11.15
15:25
или связью по владельцу. или нормальным проектированием заранее
3 Dyspho
 
26.11.15
15:25
(1) Я и хотел узнать, как будет код выглядеть)
4 Dyspho
 
26.11.15
15:25
(2) В смысле нормальным проектированием ?
5 VikingKosmo
 
26.11.15
15:27
(2) а про связь по владельцу давай по подробней...
6 Dyspho
 
26.11.15
15:28
(1) Имеется ввиду, что Телефоны - не отдельный справочник, а реквизит Справочника Клиенты ?
7 Горогуля
 
26.11.15
15:30
(4) хотя... почему бы и не справочник... а для адресов отдельный справочник заведён?
8 Dyspho
 
26.11.15
15:32
(7)Я просил помощи, а не посмеятся
9 Dyspho
 
26.11.15
15:33
(8) ться*
10 Горогуля
 
26.11.15
15:33
(8) а я тебя и не смешу
11 Dyspho
 
26.11.15
15:34
(10) ТЫ не смешишь, ты смеёшься
12 Горогуля
 
26.11.15
15:35
(11) я инициирую работу твоего головного мозга
13 Dyspho
 
26.11.15
15:35
(12) Хорошо, я сделал Телефоны - реквезитом справочника, дальше то что ?
14 Горогуля
 
26.11.15
15:37
ёмаё... ну выводи в надпись на форме тогда при изменении
15 bolobol
 
26.11.15
15:40
(3)
Процедура ПриИзмененииКонтрагента()
   Телефон= "";
   Запрос= новый Запрос("Выбрать Телефон из Телефоны ГДЕ Контрагент = &ВыбранныйКонтрагент");
   Запрос.УстановитьПараметр("ВыбранныйКонтрагент", Контрагент);
   ВыбЗапрос= Запрос.Выполнить().Выбрать();
   Если ВыбЗапрос.Следующий() Тогда
      Телефон= ВыбЗапрос.Телефон;
   КонецЕсли;
КонецПроцедуры;
16 Dyspho
 
26.11.15
15:46
(14) Я не пойму как на форму вывести Реквизит Справочника
17 VikingKosmo
 
26.11.15
15:46
(15) а если у него УФ?
18 VikingKosmo
 
26.11.15
15:46
(16) выведи как надпись, что ли
19 Горогуля
 
26.11.15
15:47
(17) тогда он будет долго стучать об неё лбом
(16) присвой что-нибудь в заголовок какой-нибудь надписи, например
20 Dyspho
 
26.11.15
15:53
Я не понимаю, мне нужно написать
Телефон= "";
   Запрос= новый Запрос("Выбрать Телефон из Телефоны ГДЕ Клиент = &ВыбранныйКлиент");
   Запрос.УстановитьПараметр("ВыбранныйКлиент", Клиент);
   ВыбЗапрос= Запрос.Выполнить().Выбрать();
   Если ВыбЗапрос.Следующий() Тогда
      Телефон= ВыбЗапрос.Телефон;
   КонецЕсли;

ПриИзмененииКлиента ?
21 VikingKosmo
 
26.11.15
15:53
(20) если у тебя УФ, то такие костыли тебе точно не нужны...
22 Горогуля
 
26.11.15
15:54
(20) тебе нужно взять эту идею и употребить её в своих реалиях
23 Горогуля
 
26.11.15
15:55
интересно, у автора уже возникал вопрос "какой телефон брать?"
24 Dyspho
 
26.11.15
15:55
(21)У меня предприятие 8.3 для обучения
Таким образом, требуется возможность:
    1). Добавлять возможные параметры и указывать, какого типа данных они будут
    2). Описывать типы заказов - справочник с длиной кода 0, с наименованием и с табличной частью с упорядоченным списком параметров, а также включенным признаком быстрого выбора параметра в колонку таблицы.
    3). Документ Заказа, где указывают:
•    ФИО клиента
•    Телефон клиента
•    Имя файла - выбирается на общем с цехом файл-сервере через ДиалогВыбораФайла - т.е. на форме поле для ввода строки, у которого по кнопке выбора (три точки) открывается диалог выбора файла и, после выбора, присваивается в это поле имени файла. Но, если в процессе выбора нажали эскейп, то имя файла не должно затереться пустой строкой (типичная ошибка новичков)
•    Тип заказа
Табличная часть "Параметр"-"Значение". Поскольку пользователи могут ошибаться, свободы нужно минимум: строки табличной части параметров в документ нельзя добавлять вручную, нельзя их переставлять, удалять.
25 Dyspho
 
26.11.15
15:57
Мне как бы с нуля надо вот эту задачку сделать
26 Dyspho
 
26.11.15
16:00
Куда все пропали)
27 Горогуля
 
26.11.15
16:00
(26) за тебя сделать?
28 Dyspho
 
26.11.15
16:01
(27) Не, даже если согласишься - мне это не надо, я должен сам)
29 Горогуля
 
26.11.15
16:02
(28) похвально. идея у тебя есть
30 VikingKosmo
 
26.11.15
16:02
(28) молодец, осталось только все таки сделать
31 Dyspho
 
26.11.15
16:03
(27) Просто я учился по видоурокам, там было похожее, только не клиент и телефон, а Контрагент и Договор, договор тоже был отдельным справочником
32 bolobol
 
26.11.15
16:04
(17) Конфигуратор на УФ ?
33 Dyspho
 
26.11.15
16:05
(30) Не подскажешь, как это реализовать, не создавая справочник допольнительный, для телефонов? Я только со справочником умею
34 VikingKosmo
 
26.11.15
16:06
(32) думаешь у него Конфигуратор браковынный?
35 VikingKosmo
 
26.11.15
16:07
(33) подскажу, почитай книгу Радченко
36 VikingKosmo
 
26.11.15
16:07
+ (35) вместо того, что бы порнуху по ютубам смотреть
37 Dyspho
 
26.11.15
16:09
(35) Я по Радченко делал, там так же в документе 2 справочника Контрагент и Склад
38 VikingKosmo
 
26.11.15
16:15
(37) а про контактную информацию там есть чего?
39 Dyspho
 
26.11.15
16:18
(38) В документы там ничего из реквизитов не выводил
40 bolobol
 
26.11.15
16:19
(34) Чего не знаю - ... А код выглядит как-то так, как в (15), разве что - комментариями, бывает, разбавлен.
41 Garykom
 
гуру
26.11.15
16:20
хм, хотелось бы посмотреть реакцию на профильных форумах если бы ТС как это сделать на С++ и прочих подобных спрашивал ))
42 VikingKosmo
 
26.11.15
16:21
(40) вот прям таки, как из (15), прям на клиенте?
43 Dyspho
 
26.11.15
16:22
(42) Можешь мне помочь не ? Я не пойму всё равно, как мне в документе сделать отображение реквизита справочника?
44 Dyspho
 
26.11.15
16:24
(42) Я просто не понимаю даже какой тип реквизита ставить
45 Garykom
 
гуру
26.11.15
16:27
(44) Если хочешь просто показывать этот "реквизит справочника" в форме документа то... никакой

Просто при обновлении формы (ну или при изменении родительского реквизита) берешь его из справочника и "показываешь на форме"
46 Garykom
 
гуру
26.11.15
16:31
(45)+ а если хочешь в "форме документа" менять "телефон" для выбранного клиента то смотря что именно хочешь менять

1.хочешь "номер телефона" сменить у элемента/объекта справочника "телефон"?
или
2.хочешь сам элемент выбранный справочника телефон поменять?

суть подчиненных справочников (один владелец другого) что у одного клиента может быть 0-дофига телефонов
47 Dyspho
 
26.11.15
16:33
(45) У меня есть Справочник Клиенты
У Справочника есть Реквизит Телефон
Я хочу, при создании документа указывать Клиента и чтобы телефон сам подставляся тот, что у клиента указан в реквизите
48 Garykom
 
гуру
26.11.15
16:34
(47) "У Справочника есть Реквизит Телефон " - а тип реквизита то какой?
49 bolobol
 
26.11.15
16:35
(42) О каком клиенте конфигуратора вы спрашиваете?, не пойму... Код - он в конфигураторе, выглядит как-то так, как я привёл в пример!
50 Dyspho
 
26.11.15
16:35
(48) Строка
51 Garykom
 
гуру
26.11.15
16:35
(47) "Я хочу, при создании документа указывать Клиента и чтобы телефон сам подставляся тот, что у клиента указан в реквизите"

и кто мешает? берешь это значение у клиента и пишешь в документ...
52 Dyspho
 
26.11.15
16:36
(51) Ну я не совсем понимаю что мне нужно сделать :(
53 bolobol
 
26.11.15
16:36
(47) А "подставлялся" КУДА ?
54 Garykom
 
гуру
26.11.15
16:36
(50)
Процедура ПриИзмененииКлиент()
       Объект.Телефон = Объект.Клиент.Телефон;
КонецПроцедуры;
55 Dyspho
 
26.11.15
16:36
(53) У меня 2 реквизита КЛИЕНТ и ТЕЛЕФОН
Следовательно телефон будет подставляться в строку ТЕЛЕФОН
56 hhhh
 
26.11.15
16:37
(52) ну как-то так

Телефон = Клиент.Телефон;

ну с названиями реквизитов разберешься.
57 Garykom
 
гуру
26.11.15
16:37
(52) для начала прочитать ЖКК
58 bolobol
 
26.11.15
16:37
(55) А где подвох тогда?... 00
59 Dyspho
 
26.11.15
16:38
(57) Процедура ПриИзмененииКлиент()
       Объект.Телефон = Объект.Клиент.Телефон;
КонецПроцедуры;

Ничего не происходит
60 VikingKosmo
 
26.11.15
16:40
(59) видимо у документа нет реквизита телефон...
61 VikingKosmo
 
26.11.15
16:40
хотя нет, тогда бы была ошибка...
62 Dyspho
 
26.11.15
16:42
(60) Ревизит Телефон тип строка
63 Dyspho
 
26.11.15
16:46
Процедура ПриИзмененииКлиент()
       Объект.Телефон = Объект.Клиент.Телефон;
КонецПроцедуры;

а процедура НаКлиенте?
64 VikingKosmo
 
26.11.15
16:48
(63) это ты нам расскажи
65 hhhh
 
26.11.15
16:48
(63) надо у поля Клиент найти событие ПриИзменении, к нему привязать процедуру для начала.
66 Dyspho
 
26.11.15
16:50
(64) &НаКлиенте
Процедура ТелефонПриИзменении(Элемент)
    Объект.Телефон = Объект.Клиент.Телефон;
   КонецПроцедуры

ЭТО НАДО НЕТ?
67 VikingKosmo
 
26.11.15
16:50
(66) это &НаКлиенте не взлетит нифига ни разу
68 Dyspho
 
26.11.15
16:51
Я не понимаю что и как
НО
&НаКлиенте
Процедура КлиентПриИзменении(Элемент)
       Объект.Телефон = Объект.Клиент.Телефон;

   КонецПроцедуры

&НаКлиенте
Процедура ТелефонПриИзменении(Элемент)
    Объект.Телефон = Объект.Клиент.Телефон;
   КонецПроцедуры


Так работает
69 Dyspho
 
26.11.15
16:52
Нифига, работает только у 1 документа
70 Dyspho
 
26.11.15
16:53
{Документ.Заказы.Форма.ФормаДокумента.Форма(4)}: Поле объекта не обнаружено (Телефон)
       Объект.Телефон = Объект.Клиент.Телефон;
71 hhhh
 
26.11.15
16:53
(68) ну, ничего удивительного
72 Dyspho
 
26.11.15
16:53
МОжет мне полный код написать, как должно быть записано?
73 VikingKosmo
 
26.11.15
16:53
(70) аллилуйя! Таки у твоего документа нет реквизита Телефон
74 Dyspho
 
26.11.15
16:53
(73) Мне скрин сделать ?
75 hhhh
 
26.11.15
16:54
(70) ну на сервере тогда делай.
76 Dyspho
 
26.11.15
16:54
(73) Заказы
             Реквизиты
                     Клиент
                     Телефон
77 Dyspho
 
26.11.15
16:55
(73) Реквизиты : Телефон(Тип строка)
Что то не так?
78 VikingKosmo
 
26.11.15
16:55
вариант 2, у Клиента нет реквизита телефон
79 VikingKosmo
 
26.11.15
16:56
или я таки туплю под конец дня и проблема в том, что код надо выполнять на сервере
80 Dyspho
 
26.11.15
16:56
(78) Я могу сделать скрин, могу конфу выложить, она весит малец
Есть реквизит и там и там
81 VikingKosmo
 
26.11.15
16:56
(80) читай (79)
82 hhhh
 
26.11.15
16:56
(76)

&НаКлиенте
Процедура КлиентПриИзменении(Элемент)

       КлиентПриИзмененииНаСервере():
КонецПроцедуры

Процедура КлиентПриИзмененииНаСервере()

       Объект.Телефон = Объект.Клиент.Телефон;

   КонецПроцедуры
83 Garykom
 
гуру
26.11.15
16:56
(78) бедный клиент...
84 VikingKosmo
 
26.11.15
16:57
(83) а вдруг в темном переулке отжали?
85 Garykom
 
гуру
26.11.15
16:57
(82) &НаСервере не забыто? посередине?
86 Dyspho
 
26.11.15
16:58
(82)
{Документ.Заказы.Форма.ФормаДокумента.Форма(4,37)}: Неопознанный оператор
       КлиентПриИзмененииНаСервере()<<?>>: (Проверка: Сервер)
{Документ.Заказы.Форма.ФормаДокумента.Форма(4,37)}: Неопознанный оператор
       КлиентПриИзмененииНаСервере()<<?>>: (Проверка: Тонкий клиент)
87 Garykom
 
гуру
26.11.15
16:58
(84) ну ничего клиент на прогах сэкономит и новый купит
88 hhhh
 
26.11.15
17:01
(86) Издеваешься
89 Dyspho
 
26.11.15
17:01
(88) Я то тут при чем
90 hhhh
 
26.11.15
17:01
(85) если ничего нет, ио на сервере
91 hhhh
 
26.11.15
17:02
(89) голову включай, когда копируешь.
92 Dyspho
 
26.11.15
17:02
(90) я написал на сервере так то
93 Dyspho
 
26.11.15
17:03
&НаКлиенте
Процедура КлиентПриИзменении(Элемент)

       КлиентПриИзмененииНаСервере():
КонецПроцедуры
&НаСервере
Процедура КлиентПриИзмененииНаСервере()

       Объект.Телефон = Объект.Клиент.Телефон;

   КонецПроцедуры
94 Dyspho
 
26.11.15
17:05
Ну помогите кто-нибудь) Мелочь же для вас
95 VikingKosmo
 
26.11.15
17:06
ну до сотки точно дотянем, делаем ставки на тыщенку?
96 Garykom
 
гуру
26.11.15
17:06
(95) 100+ легко но даже 200+ не будет раньше утонет

(93) ":"<>";"
97 bolobol
 
26.11.15
17:08
Чо притихли?
98 VikingKosmo
 
26.11.15
17:08
сотку ждем...
99 Dyspho
 
26.11.15
17:08
Всё, большое спасибо, работает )
100 aleks_default
 
26.11.15
17:08
(93)Двоеточие вместо точки с запятой у тебя там
101 bolobol
 
26.11.15
17:08
СТО
102 VikingKosmo
 
26.11.15
17:09
(101) а вот и не угадал ;)
103 bolobol
 
26.11.15
17:09
Чо-орт...
104 aleks_default
 
26.11.15
17:09
АХАХАХАХ
105 Garykom
 
гуру
26.11.15
17:13
(104) не "ахахах" а вангуем следующий вопрос
106 aleks_default
 
26.11.15
17:13
Мож и мне завести тупую тему и поприкидываться дурачком, глядишь в топ выду...
107 Nuobu
 
26.11.15
17:14
(106) А за это баллы начисляют?
108 VikingKosmo
 
26.11.15
17:14
(106) за посты в теме 0.25 ;)
109 Garykom
 
гуру
26.11.15
17:14
(107) за баллами это на ИС
110 Dyspho
 
26.11.15
18:20
(106) А я и не прикидывался)
111 VikingKosmo
 
26.11.15
18:24
(110) да мы догадались
112 Мэс33
 
26.11.15
20:57
(111) Люди с полосками опять тупят? )))
2 + 2 = 3.9999999999999999999999999999999...