Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запрос на выборку договоров          
Loreny Подменю пользователя
сообщение 24.03.15, 12:40
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день!
Столкнулся с такой проблемой:
пишу запрос на поиск договора контрагента, при ручном запуске все находит, при работе из обработки результатов нет.
Код запроса:

Запрос   = Новый Запрос();
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ДатаДог", ДатаДог);
Запрос.УстановитьПараметр("НомерДог", НомерДог);
Запрос.Текст =
"ВЫБРАТЬ
|    ДоговорыКонтрагентов.Ссылка,
|    ДоговорыКонтрагентов.Дата как Дата,
|    ДоговорыКонтрагентов.Номер как Номер
|ИЗ
|    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
|    ДоговорыКонтрагентов.ПометкаУдаления = Ложь
//|   И ДоговорыКонтрагентов.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком)
|   И ДоговорыКонтрагентов.Владелец = &Контрагент
|   И ДоговорыКонтрагентов.Организация = &Организация
|   И ДоговорыКонтрагентов.Дата = &ДатаДог
|   И ДоговорыКонтрагентов.Номер = &НомерДог";
Выборка = Запрос.Выполнить().Выбрать();

Сообщить(Число(Выборка.Количество()));

Если Число(Выборка.Количество())=1 Тогда
лСписокДоговоров=Запрос.Выполнить().Выгрузить();               
Возврат лСписокДоговоров[0].Ссылка;
КонецЕсли;


Число(Выборка.Количество())=0, хотя я на 100% уверен что такой договор который указан в параметрах есть в базе.

onsamuy Подменю пользователя
сообщение 24.03.15, 13:20
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 264
Спасибо сказали: 69 раз
Рейтинг: 0

Чудес не бывает, значит какой то параметр неверно передается, если запускается из обработки. И код немного оптимизируйте:

Запрос   = Новый Запрос();
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ДатаДог", ДатаДог);
Запрос.УстановитьПараметр("НомерДог", НомерДог);
Запрос.Текст =
"ВЫБРАТЬ
|    ДоговорыКонтрагентов.Ссылка,
|    ДоговорыКонтрагентов.Дата как Дата,
|    ДоговорыКонтрагентов.Номер как Номер
|ИЗ
|    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
|    ДоговорыКонтрагентов.ПометкаУдаления = Ложь
//|   И ДоговорыКонтрагентов.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком)
|   И ДоговорыКонтрагентов.Владелец = &Контрагент
|   И ДоговорыКонтрагентов.Организация = &Организация
|   И ДоговорыКонтрагентов.Дата = &ДатаДог
|   И ДоговорыКонтрагентов.Номер = &НомерДог";
Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда
   Возврат Выборка.Ссылка;
Иначе
   Возврат Справочники.ДоговорыКонтрагентов.ПустаяСсылка()
КонецЕсли

//Сообщить(Число(Выборка.Количество()));
//
//Если Число(Выборка.Количество())=1 Тогда
//лСписокДоговоров=Запрос.Выполнить().Выгрузить();              
//Возврат лСписокДоговоров[0].Ссылка;
//КонецЕсли;

Спасибо сказали: Loreny,

Loreny Подменю пользователя
сообщение 24.03.15, 14:02
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(onsamuy @ 24.03.15, 13:20) *
Чудес не бывает, значит какой то параметр неверно передается, если запускается из обработки. И код немного оптимизируйте:


Пересмотрел еще раз все, в другом месте нашел ошибку, "ДатаДог" передавалось как обычное текстовое поле.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.04.24, 2:05
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!