|
Запрос в КД | ☑ | ||
---|---|---|---|---|
0
TwoWorld
28.10.11
✎
11:36
|
В ПКО после загрузке пишу запрос:
Запрос = Новый Запрос; // ищем договор , если не найден тогда создаем новый Запрос.УстановитьПараметр("ВидДоговора",Перечисления.ВидыДоговоровКонтрагентов.СПокупателем); Запрос.УстановитьПараметр("Владелец",Объект.Контрагент); Запрос.УстановитьПараметр("Организация",Объект.Организация); Запрос.Текст = "ВЫБРАТЬ | ДоговорыКонтрагентов.Ссылка |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора | И ДоговорыКонтрагентов.Организация = &Организация | И ДоговорыКонтрагентов.Владелец = &Владелец"; Если НЕ Запрос.Выполнить().Пустой() Тогда ВыборкаДоговоров = Запрос.Выполнить().Выбрать(); Пока ВыборкаДоговоров.Следующий() Цикл Объект.ДоговорКонтрагента = ВыборкаДоговоров.Ссылка; прервать; КонецЦикла; Иначе Договор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); Договор.ВалютаВзаиморасчетов = Константы.ВалютаРегламентированногоУчета.Получить(); договор.Организация = Объект.Организация; договор.Владелец = Объект.Контрагент; договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем; договор.Наименование = "Основной договор"; договор.Записать(); Объект.ДоговорКонтрагента = договор.Ссылка; КонецЕсли; Выдает ошибку при загрузке: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1541)}: Ошибка в обработчике события ПоследовательностьПолейПоиска ИмяПКО = ТипОбъекта = Договоры контрагентов Обработчик = Последовательность полей поиска ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,1)}: Переменная не определена (Запрос) ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(6114) КодСообщения = 73 |
|||
1
GenV
28.10.11
✎
11:50
|
(0) Как-то не стыкуется: "В ПКО после загрузке пишу запрос" и "Ошибка в обработчике события ПоследовательностьПолейПоиска" ...
|
|||
2
Поручик
28.10.11
✎
11:52
|
(0) Это что за шляпа?
Пока ВыборкаДоговоров.Следующий() Цикл Объект.ДоговорКонтрагента = ВыборкаДоговоров.Ссылка; прервать; КонецЦикла; Так не канает? Если ВыборкаДоговоров.Следующий() Тогда Объект.ДоговорКонтрагента = ВыборкаДоговоров.Ссылка; КонецЕсли; |
|||
3
Рэйв
28.10.11
✎
11:57
|
(0)Ошибка не из этого обработчика
|
|||
4
Рэйв
28.10.11
✎
11:58
|
(2)Ему нужен первый попавшийся.Если убрать прервать, будет перебирать все и присвоит последнего.
|
|||
5
Рэйв
28.10.11
✎
11:59
|
(0)Кстати
ВыборкаДоговоров = Запрос.Выполнить().Выбрать(); Пока ВыборкаДоговоров.Следующий() Цикл Объект.ДоговорКонтрагента = ВыборкаДоговоров.Ссылка; прервать; КонецЦикла; Можно заменить на Объект.ДоговорКонтрагента =Запрос.Выполнить().Выгрузить()[0].Ссылка |
|||
6
Поручик
28.10.11
✎
12:02
|
(5) Я ему дал годное решение, тоже что и у тебя
|
|||
7
TwoWorld
28.10.11
✎
12:07
|
это не из за этого ошибка(2) (5)
|
|||
8
TwoWorld
28.10.11
✎
12:08
|
нашел проблему)
|
|||
9
Поручик
28.10.11
✎
14:31
|
(8) В ДНК?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |