Имя: Пароль:
1C
1C 7.7
v7: Запрос к документу перестал работать
, , ,
0 Gal4onok
 
23.12.11
10:32
Конфа Тис, В расходные документы перестали подбираться цены на товар из спецификаций клиентов.
Примерный код:
Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с НачДата по КонДата;
   |Обрабатывать НеПомеченныеНаУдаление;
   |СпецификацияПокупателя = Документ.СпецификацияПокупателя.ТекущийДокумент;
   |ДатаДок = Документ.СпецификацияПокупателя.ДатаДок;
   |Товар = Документ.СпецификацияПокупателя.Товар;
   |НеИспол = Документ.СпецификацияПокупателя.НеИспользовать;
   |Клиент = Документ.СпецификацияПокупателя.Клиент;
   |АдресКлиента = Документ.СпецификацияПокупателя.АдресКлиента;
   |СрокДействия = Документ.СпецификацияПокупателя.СрокДействия;
   |Группировка СпецификацияПокупателя без групп;
   |Условие(Клиент в ВыбКлиент);
   |Условие(НеИспол=0);
   |Условие(Товар в ВыбТовар);
   |Условие(АдресКлиента в ВыбАдресКлиента);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
       // Заполнение полей СпецификацияПокупателя
       
       Таб.ВывестиСекцию("СпецификацияПокупателя");
       
   КонецЦикла;
   // Вывод заполненной формы
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");

Не срабатывает на Адрес клиента.вообщене видит. Тип реквизита Справочник.АдресаКлиентов.
1 Mans
 
23.12.11
10:40
"перестал"?  что меняли?
2 Gal4onok
 
23.12.11
10:40
раньше работал, счас нет, ничего не меняли.
3 Gal4onok
 
23.12.11
10:41
я по крайней мере ничего не меняла.
4 Ёпрст
 
23.12.11
10:41
(0) нет проведенных документов входящих в заданный период и удовлетворяющие данным условиям
5 andrewks
 
23.12.11
10:43
что значит "перестал работать"? ошибку выдаёт?
6 Gal4onok
 
23.12.11
10:45
нет. просто почему не видит в документе, какой адрес выбран, хотя он выбран из справочника. бред какой то.
7 andrewks
 
23.12.11
10:48
кто чего не не видит? условие не выполняется, что-ли?

ну попробуй его закомментить, и отладчиком пробегись
8 Gal4onok
 
23.12.11
10:49
я пробовала, условие на адрес не работает, не видит адрес в документе, хотя он заполнен
9 andrewks
 
23.12.11
10:53
(8)условие работает, просто оно не выполняется.
10 Mans
 
23.12.11
10:55
в (0) вроде про цены было
11 rider
 
23.12.11
11:03
попробуй поменять "в" на "="
12 155153144627
 
23.12.11
11:15
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)

   |Период с НачДата по КонДата;
   |Обрабатывать НеПомеченныеНаУдаление;
   |СпецификацияПокупателя = Документ.СпецификацияПокупателя.ТекущийДокумент;
   |ДатаДок = Документ.СпецификацияПокупателя.ДатаДок;
   |Товар = Документ.СпецификацияПокупателя.Товар;
   |НеИспол = Документ.СпецификацияПокупателя.НеИспользовать;
   |Клиент = Документ.СпецификацияПокупателя.Клиент;
   |АдресКлиента = Документ.СпецификацияПокупателя.АдресКлиента;
   |СрокДействия = Документ.СпецификацияПокупателя.СрокДействия;
   |Группировка СпецификацияПокупателя;";
Если ВыбКлиент.Выбран() = 1 Тогда
   ТекстЗапроса = ТекстЗапроса + "
   |Условие(Клиент = ВыбКлиент);"
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
   |Условие(НеИспол=0);";
Если ВыбТовар.Выбран() = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
   |Условие(Товар = ВыбТовар);";
Если ВыбАдресКлиента.Выбран()=1 Тогда
ТекстЗапроса = ТекстЗапроса + "
   |Условие(АдресКлиента = ВыбАдресКлиента.Наименование);
   |";

Это в случае если ВыбАдресКлиента справочник и адрес прописан в наименовании элемента. Если ВыбАдресКлиента строка, то

ТекстЗапроса = ТекстЗапроса + "
   |Условие(АдресКлиента = ВыбАдресКлиента);
   |";

Но мне кажется, что скорее всего справочник, иначе неужели юзер набирает адрес соблюдая все правила.
13 Ardi
 
23.12.11
11:17
(0) Gal4onok
Поставить в настройках винды кацапскую мову.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший