|
Вопрос по УФ | ☑ | ||
---|---|---|---|---|
0
Azverin
23.01.14
✎
15:04
|
Пишу обработку - заполнить справочник по данным из регистра сведений.
Делаю запрос по регистру сведений. В выборке получаю объект справочника и хочу заполнить реквизиты формы. Как это сделать? &НаСервере Процедура Сформировать() Запрос.Текст = ... ТЗ = Запрос.Выполнить().Выгрузить(); Если ТЗ.Количество()>0 Тогда Для каждого Стр из ТЗ Цикл Контр = Справочники.Контрагенты.НайтиПоНаименованию(стр.объект).ПолучитьОбъект(); ??? |
|||
1
Адский плющ
23.01.14
✎
15:05
|
Хочешь заполнить реквизиты формы, а надо хотеть заполнить реквизиты объекта.
|
|||
2
Azverin
23.01.14
✎
15:06
|
(1) в реквизитах объекта нет реквизитов формы)
|
|||
3
Адский плющ
23.01.14
✎
15:11
|
ХЗ как так можно программировать.
|
|||
4
Azverin
23.01.14
✎
15:13
|
(3) с УФ раньше не сталкивался. что делаю не так?
|
|||
5
kosts
23.01.14
✎
15:20
|
(4) Можно подумать, что с обычными формами такой код прокатил бы...
Зачем выгрузка в ТЗ? Зачем получение объекта? Зачем поиск по наименованию? Зачем присвоение переменной в цикле? Зачем ТЗ.Количество()>0 если цикл и так в цикл не попадешь если в тз нет строк? Для исправления проблемы нажми ctrl+a,del |
|||
6
Кир Пластелинин
23.01.14
✎
15:25
|
мать моя женщина...
|
|||
7
Azverin
23.01.14
✎
15:26
|
(5) да, зря я выложил обрывки кода. выглядит удручающе...
хорошо, как мне заполнить элементы справочника по данным РС? |
|||
8
Кир Пластелинин
23.01.14
✎
15:29
|
(7) мне кажется полный код картину не улучшил бы) неплохо бы для начала услышать конечную цель
|
|||
9
Azverin
23.01.14
✎
15:30
|
(8) элементы справочника Контрагентов (табличная часть и реквизиты формы) заполнены по данным РС
|
|||
10
НЕА123
23.01.14
✎
15:32
|
1986
|
|||
11
Кир Пластелинин
23.01.14
✎
15:34
|
(9) ну если заполнены, то что нужно делать то тогда?) все и так в шоколаде)
|
|||
12
Azverin
23.01.14
✎
15:35
|
(11) давай по существу.
|
|||
13
EvgeniuXP
23.01.14
✎
15:36
|
(7) читаешь данные из РС, создаешь элементы справочника, заполняешь реквизиты и записываешь каждый элемент.
|
|||
14
EvgeniuXP
23.01.14
✎
15:38
|
НаборЗаписей = РегистрыСведений.ИмяРегистраСведений.СоздатьНабор();
НаборЗаписей.Отбор.ИмяИзмерения.Установить(ЗначениеИзмерения); НаборЗаписей.Прочитать(); Для Каждого СтрокаНЗ Из НаборЗаписей Цикл НовыйЭлемент = Справочники.МойСправочник.СоздатьЭлемент(); НовыйЭлемент.Код = СтрокаНЗ.Код; и т.д. НовыйЭлемент.Записать(); КонецЦикла; |
|||
15
Infsams654
23.01.14
✎
15:39
|
(4) тут УФ не при чем, тут либо (5), либо подумать...
|
|||
16
Кир Пластелинин
23.01.14
✎
15:40
|
(12) а мы с Вами на "ты" не переходили) грамотно поставленный вопрос - половина успеха.
(13) дык тут хотелка в реквизиты формы запихать |
|||
17
Azverin
23.01.14
✎
15:41
|
(14) элементы справочника уже есть.
короче, РС - Адрессный классификатор. Справочник - Контрагенты. |
|||
18
EvgeniuXP
23.01.14
✎
15:42
|
ЭлементыФормы.ТвояТаблицаЗначений.Значение = РезультатЗапроса.Выгрузить();
|
|||
19
EvgeniuXP
23.01.14
✎
15:43
|
(17) ты сам не знаешь, что хошь :)
|
|||
20
Azverin
23.01.14
✎
15:43
|
(18) На сервере не могу обратиться к ЭлементыФормы
|
|||
21
EvgeniuXP
23.01.14
✎
15:44
|
(2) используй директиву &НаСервере - сегодня тема пробегала.
|
|||
22
EvgeniuXP
23.01.14
✎
15:46
|
(20) т.е. Элементы, блин. код взял из обычной формы, для уф:
тзСписокДокументов.Загрузить(РезультатЗапроса.Выгрузить()); |
|||
23
Infsams654
23.01.14
✎
15:48
|
Ничего не понял. Тут речь идет про УФ.
Этот про элемнеты формы талдычит EvgeniuXP (18) вы уж, определитесь |
|||
24
EvgeniuXP
23.01.14
✎
15:49
|
ИмяТЗРеквизитаФормы.Загрузить(РезультатЗапроса.Выгрузить());
|
|||
25
EvgeniuXP
23.01.14
✎
15:50
|
ТаблицуЗначений выкинь на форму, создай колонки такие же как в запросе их тип определи, потом на сервере загрузи ТЗ из запроса - данные увидишь.
|
|||
26
Tempest
23.01.14
✎
15:50
|
(20) Сделай функцию на сервере которая по регистру сведений сформирует ТЗ, вызови ее с клиента, и потом уже в клиентской процедуре загрузи в элемент формы
|
|||
27
Ksandr
23.01.14
✎
15:50
|
Структура = Новый Структура("ИмяРеквизита1...", ЗначениеРеквизита2...);
Объект = ПолучитьОбъект()/СоздатьЭлемент(); Объект.Заполнить(Структура); |
|||
28
Tempest
23.01.14
✎
15:51
|
Если тебе редактировать не надо, то Динамический список в руки, там вообще код не нужен, только запрос написать.
|
|||
29
Azverin
23.01.14
✎
15:52
|
(25) типовая конфа
|
|||
30
EvgeniuXP
23.01.14
✎
15:52
|
(23) спутался, а автор сам не знает что хочет.
|
|||
31
Infsams654
23.01.14
✎
15:53
|
Всем по неуду. Вы прочитаете что надо или копья ломать ?
|
|||
32
EvgeniuXP
23.01.14
✎
15:55
|
(29) и что? внешнюю обработку запретили?
пиши что надо. |
|||
33
Azverin
23.01.14
✎
15:55
|
(26) "в клиентской процедуре загрузи в элемент формы" - можно по-подробнее здесь
|
|||
34
Azverin
23.01.14
✎
15:56
|
(32) не понимаю вас
|
|||
35
EvgeniuXP
23.01.14
✎
15:57
|
(34) а я вас :), то создать элементы справочника, то что-то там отобразить на форме - тип то какой? что отображать? контрагента? адреса? в таблице? в одном реквизите?
|
|||
36
Tempest
23.01.14
✎
15:58
|
(33) Я правильно понял что тебе на форме надо отобразить данные из РС "Контактные данные"?
|
|||
37
Azverin
23.01.14
✎
16:01
|
(35) например, у существующего контрагента на форме элемента есть реквизит Телефон (Строка). Его надо заполнить из регистра сведений. Одно из измерений РС - справочник контрагенты
|
|||
38
EvgeniuXP
23.01.14
✎
16:02
|
(34) на учебу шагом марш: http://www.spec8.ru - для расширения кругозора.
|
|||
39
Azverin
23.01.14
✎
16:02
|
(36) да
|
|||
40
Trotter
23.01.14
✎
16:03
|
(38) А вы случайно не автор этих курсов ?)
|
|||
41
EvgeniuXP
23.01.14
✎
16:04
|
(40) нет, я покупатель, который прошел и очень довольным остался :)
|
|||
42
Tempest
23.01.14
✎
16:05
|
(37) Ну значит в процедуре при открытии вызывай серверную функцию (не процедуру), которая вернет структуру, тз, или то что тебе удобно но типизируемое(объекты, например, возвращать нельзя), а потом заполняй свои реквизиты. В клиентской процедуре можно обращаться к ним через Коллекцию Элементы.
|
|||
43
Trotter
23.01.14
✎
16:05
|
(41) с нулевыми знаниями в 1С смотрели ?
|
|||
44
Infsams654
23.01.14
✎
16:06
|
Еще раз читайте
"Пишу обработку - заполнить справочник по данным из регистра сведений." Как может быть справочник не заполнен ? В РС уже есть ссылки |
|||
45
EvgeniuXP
23.01.14
✎
16:06
|
(43) еще хуже - мне дедушка такие вколотил, от которых потом долго избавлялся :)
|
|||
46
Azverin
23.01.14
✎
16:10
|
(42) красиво говоришь, но вот "потом заполняй свои реквизиты" - тут непонимание((
приведи пример |
|||
47
Trotter
23.01.14
✎
16:11
|
(45) что вам девушка "вколотил" ?
Девушка "обучала" вас с начало ? |
|||
48
Infsams654
23.01.14
✎
16:12
|
(0) Azverin, что есть такого в регистре, чего нет в справочнике?
В РС специально и записываются какие-то периодические данные по элементам справочника |
|||
49
Azverin
23.01.14
✎
16:12
|
(44) РС независимый. Справочник частично заполнен.
|
|||
50
Azverin
23.01.14
✎
16:13
|
извините, что так тупо объясняю
|
|||
51
Infsams654
23.01.14
✎
16:17
|
(49) с этого пункта поподробнее. Что есть в РС чего нет в справочнике
|
|||
52
Azverin
23.01.14
✎
16:19
|
(51) какое дело, что есть?
есть в РС "Вася" с номером "555", надо чтобы у Контрагента "Вася" реквизит на форме Номер тоже стал "555"... |
|||
53
Адский плющ
23.01.14
✎
16:23
|
А откуда он на форме берется религия не позволяет узнать. Только не говорите, что он там хранится, это будет уже не смешно.
|
|||
54
Infsams654
23.01.14
✎
16:25
|
(52) понял что сказал ?
Вася - это контрагент? Так этот контрагент будет контрагентом хоть на любой форме контрагентом (в отчете, в документе и т.д.) |
|||
55
Серго62
23.01.14
✎
16:25
|
(52) А в справочнике Вася есть?
|
|||
56
Infsams654
23.01.14
✎
16:26
|
(55) как его не может быть, если в регистре есть на него ссылка
|
|||
57
Tempest
23.01.14
✎
16:28
|
(56) У него в регистре есть данные, которых в реквизитах справочника нет. По аналогии с контактной информации в любой типовой конфе.
|
|||
58
Tempest
23.01.14
✎
16:29
|
(46) Элементы.ТвойЭлемент.Значение = ПолученнаяИзСервернойФункцииТаблица.ТвояКолонка. Как то так. Синтаксис помощник должен при наборе.
|
|||
59
Серго62
23.01.14
✎
16:30
|
(56) Согласен, туплю...
Тогда такой вопрос, какой код у Васи в справочнике? |
|||
60
Серго62
23.01.14
✎
16:31
|
+ (59) и для чего нужно его отображать на форме?
|
|||
61
Infsams654
23.01.14
✎
16:32
|
(57) не в тему. Если в регистре есть ссылка на контрагента, то в справочнике он должен быть. Иначе, <объект не найден>.
Другое дело, если в РС не ссылка, а код контрагента - тогда, пошли всех на фиг - это неправильное решение, и не стоит тратить время на эту тему |
|||
62
Zamestas
23.01.14
✎
16:36
|
(52) Структуру РС в студию.
|
|||
63
Tempest
23.01.14
✎
16:36
|
(61) Если реквизит периодический, то приемлемое решение. Иначе понятно, что проще в реквизиты самого объекта эти данные добавить.
|
|||
64
Infsams654
23.01.14
✎
16:41
|
(63) опять не про то, еще раз прочитай (0).
Как можно из РС заполнить то, что уже есть ? |
|||
65
Tempest
23.01.14
✎
16:48
|
(64) Я думаю, ТС не то имел ввиду, что в 0.
|
|||
66
Infsams654
23.01.14
✎
16:49
|
может действительно как в (57)
"У него в регистре есть данные, которых в реквизитах справочника нет. По аналогии с контактной информации в любой типовой конфе." Так бы надо и сразу сказать. А то "заполнить справочник по данным из регистра сведений" этак крыша съедет |
|||
67
Tempest
23.01.14
✎
16:52
|
(66) Молодых пообучаешь, научишься подобное телепатировать :)
|
|||
68
Drac0
23.01.14
✎
16:54
|
(26) в реквизит формы. Не в Элемент.
|
|||
69
Infsams654
23.01.14
✎
16:56
|
(67) да, уж :)
а то не въезжал, сначала |
|||
70
Infsams654
23.01.14
✎
17:01
|
(67) тем не менее, стаж > 2 года, так что можно было яснее высказаться, и не при чем тут (4) "с УФ раньше не сталкивался. что делаю не так?"
|
|||
71
КРТЩ
23.01.14
✎
17:03
|
(7) код выглядит удручающе, я бы сказал что удручающе бессмысленно
|
|||
72
КРТЩ
23.01.14
✎
17:06
|
(0) тебе просто данные из РС надо на форму вытянуть? или в элементы справочника записать?
|
|||
73
Infsams654
23.01.14
✎
17:08
|
(71) (7) хорошо, как мне заполнить элементы справочника по данным РС?
Ответьте, пожалуйста, кто сможет |
|||
74
Azverin
23.01.14
✎
17:08
|
(72) в реквизит формы.
|
|||
75
Infsams654
23.01.14
✎
17:10
|
во, это уже кое-что
|
|||
76
Azverin
23.01.14
✎
17:11
|
задача отвалилась - перегрузка не требуется)
но вопрос остаётся открытым... |
|||
77
КРТЩ
23.01.14
✎
17:16
|
(74) реквизит формы какой? списка? элемента?
|
|||
78
Сисой
23.01.14
✎
17:20
|
(76) Если тебе не нужно каждый раз менять справочник, то кидаешь на форму реквизиты нужных типов, в серверной процедуре считываешь их из РС и вызываешь для каждого реквизита ЗначениеВРеквизитФормы()
|
|||
79
EvgeniuXP
23.01.14
✎
19:35
|
(47) 1C-программист, заклятый семерочник, пользовался методами Clipper-а, т.е. ни документы не проводили, ни с регистрами не работали они на предприятии - только справочники и куча в них реквизитов до 90 штук и более, при этом поля (реквизиты) все примитивного типа - ссылку осуждали за тормознутость ее :), цех и табельный в каждом справочнике как реквизиты были - короче, тебе такие знания не нужны - учись сразу у Специалиста :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |