|
Добавить колонки на форму выбора справочника "Контрагенты" | ☑ | ||
---|---|---|---|---|
0
_stay true_
06.08.13
✎
10:54
|
Здравствуйте. Необходимо добавить Ещё несколько колонок(Адрес доставки, юр.адрес и телефон) в форму выбора справочника Контрагенты.
Завел новые реквизиты в справочнике (Адрес доставки, юр.адрес и телефон), добавил колонки в форме выбора(указал соответствующие данные). Пытаюсь вытянуть запросом данные из регистра сведений "КонтактнаяИнформация"(вроде, все данные контрагентов хранятся там) и запихнуть их в "мои" реквизиты в процедуре "ПередЗаписью". Код: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И КонтактнаяИнформация.Вид = &Вид"; Запрос.УстановитьПараметр("Объект", ЭтотОбъект.Наименование); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.АдресДоставкиКонтрагента); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ЭтотОбъект.АдресДоставки = Выборка.Представление; ЭтотОбъект.ЮридическийАдрес = Выборка.Представление; ЭтотОбъект.Телефон = Выборка.Телефон; КонецЦикла; КонецФункции В отладчике наблюдаю следующее: в цикл не попадает(Выборка.Следующий() = Ложь ), пробовал вместо цикла сделать условие(Если Выборка.Следующий()) - то же самое. Помогите разобраться. Заранее благодарен. |
|||
1
rotting
06.08.13
✎
10:57
|
Подход не правильный, выводи данные в событии "ПриПолученииДанных"
|
|||
2
_stay true_
06.08.13
✎
11:02
|
(1) Спасибо за совет. А с процедурой что не так?
|
|||
3
СвинТуз
06.08.13
✎
11:03
|
"Запрос.УстановитьПараметр("Объект", ЭтотОбъект.Наименование);"
тут фигня |
|||
4
_stay true_
06.08.13
✎
11:04
|
(3) Понял вас. А как должно быть по науке?)
|
|||
5
Godofsin
06.08.13
✎
11:05
|
Ссылка
|
|||
6
СвинТуз
06.08.13
✎
11:06
|
там ссылка на объект должна быть
ты же кодер ? думай |
|||
7
EugeniaK
06.08.13
✎
11:07
|
(0) Эм....
Это что, отдельный запрос для каждого контрагента на форме выбора? |
|||
8
_stay true_
06.08.13
✎
11:09
|
(7) Нет. Запрос выполняется в контексте основной формы объекта.
|
|||
9
_stay true_
06.08.13
✎
11:10
|
(6) Я очень-очень-очень начинающий(возможно пока ещё быдло)кодер:)
|
|||
10
СвинТуз
06.08.13
✎
11:12
|
(9)
ну вот как раз носом в то что ... написал самое то , все проходили это читай книги на форуме меньше болтай |
|||
11
_stay true_
06.08.13
✎
11:17
|
(10)Спасибо за всё. Буду стараться:)
|
|||
12
СвинТуз
06.08.13
✎
11:22
|
(11)
поставь точку останова посмотри где можно зацепить справочник.контрагент.ссылка или возможно физлицо.ссылка надо в конфу смотреть |
|||
13
СвинТуз
06.08.13
✎
11:23
|
табло есть оно все расскажет
|
|||
14
_stay true_
06.08.13
✎
14:49
|
Так и не заработало. Что не так сделал с параметром "тип"?
(Запрос.УстановитьПараметр("Тип", );). Код: Процедура ВывестиАдресаИТелефоны() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И КонтактнаяИнформация.Тип = &Тип"; Запрос.УстановитьПараметр("Объект", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("Тип", РегистрыСведений.КонтактнаяИнформация.Тип); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ЭтотОбъект.АдресДоставки = Выборка.Представление; ЭтотОбъект.ЮридическийАдрес = Выборка.Представление; ЭтотОбъект.Телефон = Выборка.Представление; КонецЦикла; |
|||
15
zladenuw
06.08.13
✎
15:15
|
(14) потому что вот это не верно
Запрос.УстановитьПараметр("Тип", РегистрыСведений.КонтактнаяИнформация.Тип); тип это справочник контактнаяинформация. |
|||
16
_stay true_
06.08.13
✎
15:31
|
(15) Сделал вот так
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И КонтактнаяИнформация.Вид = &Вид"; Запрос.УстановитьПараметр("Объект", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.АдресДоставкиКонтрагента); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента); Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ЭтотОбъект.АдресДоставки = Выборка.Представление; ЭтотОбъект.ЮридическийАдрес = Выборка.Представление; ЭтотОбъект.Телефон = Выборка.Представление; КонецЦикла; Во все 3 реквизита запихивает телефон. И, что самое страшное, в колонках на форме ничего не появляется |
|||
17
_stay true_
06.08.13
✎
15:54
|
(16) Кажись, доперло...Я же каждый раз по новой устанво\ливаю параметр. Попробую с помощью массива передать 3 параметра сразу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |