|
Результат запроса в табличную часть реквизита формы)) 8.3 | ☑ | ||
---|---|---|---|---|
0
sirbure
12.02.15
✎
23:14
|
Собственно в реквизите формы есть табличная часть ДоговорыКлиентов
Имеет колонки: номер строки, дата начала, дата конца, тип договора, номер договора, хочу что бы при открытии формы она заполнялась. Никак не могу передать результат запроса в эту таблицу. Код такой: &НаКлиенте Процедура ПриОткрытии(Отказ) Договорыснами(); ЭтаФорма.Записать(); КонецПроцедуры &НаСервере Функция Договорыснами(); Запрос = Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ДоговорыКлиентов.ДатаНачала, | ДоговорыКлиентов.ДатаКонца, | ДоговорыКлиентов.НомерДоговора, | ДоговорыКлиентов.Тип |ИЗ | Справочник.ДоговорыКлиентов КАК ДоговорыКлиентов |ГДЕ | ДоговорыКлиентов.ВладелецДоговора = &Клиент"; Кл=Объект.Наименование; Запрос.УстановитьПараметр("Клиент", Кл); Результат=Запрос.Выполнить().Выгрузить(); Объект.ДоговорыКлиентов.Загрузить(Результат); КонецФункции |
|||
1
hhhh
12.02.15
✎
23:20
|
Кл=Объект.Наименование; это что за бред? Владелец не может быть наименованием. Никогда.
|
|||
2
hhhh
12.02.15
✎
23:21
|
потом есть процедура ПриСозданииНаСервере. Что за ПриОткрытии? откуда взялась? На 77 что ли пишете и в восьмерку вставили?
|
|||
3
sirbure
12.02.15
✎
23:25
|
(1) Кл=Объект.Наименование Это я из реквизита формы получаю наименование контрагента, что бы задать параметр запроса, т.е. ищу владельца договора в справочнике по наименованию, запрос 100% рабочий.
Процедура при открытии, это при открытии формы, т.е. я тыкаю на форму справочника Контрагенты и эта таблица должна заполняться. Пишу в 8.3 |
|||
4
hhhh
12.02.15
✎
23:31
|
(3) поле владелец это как раз ссылка на контрагента. Зачем искать его по наименованию? За это ведь сразу расстрелять надо, потом тело сжечь, а пепел утопить в реке.
|
|||
5
sirbure
12.02.15
✎
23:38
|
(4) эм, тут как бы не совсем в этом дело)) просто в реквизитах справочника договоры контрагентов нет других реквизитов от владельца кроме наименования
|
|||
6
sirbure
12.02.15
✎
23:41
|
(4) Видимо нужно было упомянуть про то что это, не стандартная конфа, а пустая)
|
|||
7
alle68
13.02.15
✎
02:20
|
(5) Дело в том, что ты пока плохо различаешь ссылку и наименование.
(3) А как ты 100% насчитал, "Результат" имеет строки? |
|||
8
Web00001
13.02.15
✎
03:21
|
(3)В запросе у тебя написано не это. В запросе у тебя написано дословно:
ГДЕ ДоговорыКлиентов.ВладелецДоговора = &Клиент То есть если у тебя реквизит "ВладелецДоговора" имеет тип "Строка" то ок, такой код код, хоть и кривой но имеет смысл. Но для начала да, надо ответить на вопрос в (7) |
|||
9
sirbure
13.02.15
✎
13:49
|
(7) в консоли запрососв выводит 3 строки))
|
|||
10
alle68
13.02.15
✎
13:56
|
(9) Когда ты вводишь наименование, система ищет ссылку и подставляет её, поэтому что-то находится. А в коде у тебя строка.
|
|||
11
hhhh
13.02.15
✎
13:58
|
ну может и правда ВладелецДоговора - строка?
|
|||
12
sirbure
13.02.15
✎
14:02
|
(8) блин извините. я слепошарый, (11) Тип справочник ссылка, протуканил когда собирал запрос в конфигураторе, добавил Наименование, ну да бог с ним, вопрос остался открытым))
|
|||
13
vicof
13.02.15
✎
14:04
|
При открытии запись вообще феерично
|
|||
14
alle68
13.02.15
✎
14:19
|
(11) Строка... но это невозможно!
(12) Открытый? Что же ещё сказать!? |
|||
15
sirbure
13.02.15
✎
14:21
|
Кстати как при отладке посмотреть результат запроса ? точку останова ставлю, но именно то что находится в ячейках посмотреть не могу, выводит только описание данных
|
|||
16
Molinor
13.02.15
✎
14:25
|
Смотри, что у тебя в Результат лежит. Выделить переменную, Shift+F9, затем F2.
|
|||
17
sirbure
13.02.15
✎
14:29
|
в результате лежит вот что:
Свойство Значение Тип Запрос.Выполнить().Выгрузить() ТаблицаЗначений ТаблицаЗначений Индексы ИндексыКоллекции ИндексыКоллекции Колонки КоллекцияКолонокТаблицыЗначений КоллекцияКолонокТаблицыЗначений ДатаКонца КолонкаТаблицыЗначений КолонкаТаблицыЗначений Заголовок "ДатаКонца" Строка Имя "ДатаКонца" Строка ТипЗначения Дата, Null ОписаниеТипов Ширина 10 Число ДатаНачала КолонкаТаблицыЗначений КолонкаТаблицыЗначений Заголовок "ДатаНачала" Строка Имя "ДатаНачала" Строка ТипЗначения Дата, Null ОписаниеТипов КвалификаторыДаты КвалификаторыДаты КвалификаторыДаты ЧастиДаты Дата ЧастиДаты КвалификаторыДвоичныхДанных КвалификаторыДвоичныхДанных КвалификаторыДвоичныхДанных Длина 0 Число ДопустимаяДлина Переменная ДопустимаяДлина КвалификаторыСтроки КвалификаторыСтроки КвалификаторыСтроки Длина 0 Число ДопустимаяДлина Переменная ДопустимаяДлина КвалификаторыЧисла КвалификаторыЧисла КвалификаторыЧисла ДопустимыйЗнак Любой ДопустимыйЗнак Разрядность 0 Число РазрядностьДробнойЧасти 0 Число Ширина 10 Число НомерДоговора КолонкаТаблицыЗначений КолонкаТаблицыЗначений Заголовок "НомерДоговора" Строка Имя "НомерДоговора" Строка ТипЗначения Строка, Null ОписаниеТипов Ширина 32 Число Тип КолонкаТаблицыЗначений КолонкаТаблицыЗначений Заголовок "Тип" Строка Имя "Тип" Строка ТипЗначения Null, Типы договоров с клиентами ОписаниеТипов Ширина 25 Число Но самих значений Нет |
|||
18
Mankubus
13.02.15
✎
14:31
|
может вы программиста позовете?
|
|||
19
Mankubus
13.02.15
✎
14:32
|
при открытии формы не надо ничего записывать
|
|||
20
sirbure
13.02.15
✎
14:38
|
(18) да это я для себя балуюсь))
Как я понял без цикла тут не обойтись) |
|||
21
Demetres
13.02.15
✎
14:46
|
(20) Конечно обойтись
|
|||
22
Demetres
13.02.15
✎
14:47
|
(20) В отладчике после того как получили Результат, нажмите на карандаш, и тогда увидите что в таблице значений
|
|||
23
Demetres
13.02.15
✎
14:52
|
(20) Или хотябы посмотри сколько строк в табл. знач. Результат.Количество()
|
|||
24
sirbure
13.02.15
✎
14:55
|
(21) Как? (23) 3 строки, циклом все заносится в таблицу
цикл может быть дебильный))) но как могу : Шаг= 0; Для каждого Строка Из Результат Цикл Объект.ДоговорыКлиентов.Добавить();; Объект.ДоговорыКлиентов[Шаг].ТипДоговора=Строка.Тип; Шаг=Шаг+1; КонецЦикла; |
|||
25
sirbure
13.02.15
✎
15:01
|
(22) Большое спасибо за карандашь)) Гадал бы оч долго как посмотреть))
|
|||
26
Demetres
13.02.15
✎
15:04
|
(24) Все поля таблицы значений которыми заполняете элемент формы с типом ДанныеФормыКоллекция должны совпадать по имени.
| ДоговорыКлиентов.Тип КАК ТипДоговора У вас просто опыта пока мало в 1С, если тут говорят что можно заполнить то значит можно :) |
|||
27
Demetres
13.02.15
✎
15:05
|
не элемент формы а реквизит с типом ДанныеФормыКоллекция
|
|||
28
sirbure
13.02.15
✎
15:07
|
(26) тык а механизм то какой ?)) переделать рекизиты не проблема) как их заполнять то из запроса ?
|
|||
29
sirbure
13.02.15
✎
15:08
|
(27) типа ЗначениеВДанныеФормы что ли?
|
|||
30
Demetres
13.02.15
✎
15:13
|
(28) Все очень просто умеете пользователя синтаксис помошником? Смотрите описание типа "ДанныеФормыКоллекция" у него есть метод Загрузить(<Таблица>)
|
|||
31
Demetres
13.02.15
✎
15:16
|
(28) Реквизиты трогать не надо, а в запросе так надо написать
| ДоговорыКлиентов.Тип КАК ТипДоговора |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |