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

Хранилище

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

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



> Передача списка в запрос , Запрос не срабатывает на предоставленный ему список          
Kutuzov Подменю пользователя
сообщение 02.12.11, 16:47
Сообщение #1

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

Конфигурация Буха 7.7 289

Есть список для отбора в запросе
   ДокНАйти = СоздатьОбъект("Документ.ПриходнаяНакладная");
    СпПартий = СоздатьОбъект("СписокЗначений");
    Флаг=1;
    ТзДокументДанные.ВыбратьСтроки();
    Пока ТзДокументДанные.ПолучитьСтроку()=1 Цикл  
        Если Флаг=1 Тогда
            Если ДокНАйти.НайтиПоНомеру(ТзДокументДанные.НомерДокума,ТзДокументДанные.ДатаДокум,)= 1 тогда
                ДокТек =ДокНайти.ТекущийДокумент();
                СпПартий.ДобавитьЗначение(ДокТек);
                ПрошлыйНомерДокума = ТзДокументДанные.НомерДокума;
                Флаг=0;
            КонецЕсли;
        КонецЕсли;
        Если (ТзДокументДанные.НомерДокума <> ПрошлыйНомерДокума)  Тогда
            Если ДокНАйти.НайтиПоНомеру(ТзДокументДанные.НомерДокума,ТзДокументДанные.ДатаДокум,)= 1 тогда
                ДокТек = ДокНайти.ТекущийДокумент();
                СпПартий.ДобавитьЗначение(ДокТек);
                ПрошлыйНомерДокума = ТзДокументДанные.НомерДокума;
                Флаг=0;                                                                                      
            КонецЕсли;
        КонецЕсли;
  
    КонецЦикла;



Получаю в список ссылки на документы. Теперь пытаюсь в запросе выбрать документы РН в которых есть документы партии, то есть ПН из списка

пишу запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |РасходнаяНакладная = Документ.РасходнаяНакладная.ТекущийДокумент;
    |Фирма = Документ.РасходнаяНакладная.Фирма;
    |Патриот = Документ.РасходнаяНакладная.Партия.Док;
    |ДатаПартии =Документ.РасходнаяНакладная.Партия.Дата_Прих;
    |Группировка РасходнаяНакладная;
    |Группировка Патриот;
    |Группировка ДатаПартии;    
    |без Итогов;
    |Условие(Фирма в Фирма);
    |Условие(Патриот в СпПартий);
    |"



Документ.РасходнаяНакладная.Партия.Док - это ссылка на документ который мне надо

В итоге при работе запроса результат пустой или пустая строка, но если убираю условие то он нормально отрабатывая выводя все РН.
Каким макаром вылечить этот запрос???


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Zaval Подменю пользователя
сообщение 02.12.11, 16:53
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Где Функция в Запросе?

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

Kutuzov Подменю пользователя
сообщение 02.12.11, 16:59
Сообщение #3

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

Цитата(Zaval @ 02.12.11, 16:53) *
Где Функция в Запросе?


ЭЭЭЭЭ.... Запрос в функции. Список получаю до определения запроса, так что на момент создания запроса список уже есть. Сейчас заметил, что запрос не хочет выдавать данные перепрыгивая по ссылкам так как
партия
в запросе это ссылка ну и
док
тоже ссылка которую я пытаюсь получить через ссылку


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Flexy Подменю пользователя
сообщение 02.12.11, 17:00
Сообщение #4

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Делал что-то похожее в обработке Прайс-лист
У меня вот как-то так...
//Ваш вариант
|"+?(ПустоеЗначение(СпПартий)=1,"","Условие(Патриот в СпПартий);")+"

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

mister-x Подменю пользователя
сообщение 02.12.11, 17:02
Сообщение #5

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата
Где Функция в Запросе?
+
Цитата
|без Итогов;
що ви рахуєте то в "итогах"?

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

Kutuzov Подменю пользователя
сообщение 02.12.11, 17:04
Сообщение #6

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

Цитата(Flexy @ 02.12.11, 17:00) *
Делал что-то похожее в обработке Прайс-лист
У меня вот как-то так...
//Ваш вариант
|"+?(ПустоеЗначение(СпПартий)=1,"","Условие(Патриот в СпПартий);")+"


Это конечно да если бы список пустой бы был, но н не пустой и имеет данные. Запрос не выдает ошибку он просто не может сравнить список значений с полем
|Патриот = Документ.РасходнаяНакладная.Партия.Док;


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Flexy Подменю пользователя
сообщение 02.12.11, 17:06
Сообщение #7

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Kutuzov @ 02.12.11, 17:04) *
Это конечно да если бы список пустой бы был, но н не пустой и имеет данные.

Это как раз вариант для Не Пустого Списка.

Kutuzov Подменю пользователя
сообщение 02.12.11, 17:08
Сообщение #8

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

Цитата(mister-x @ 02.12.11, 17:02) *
+ що ви рахуєте то в "итогах"?


Ага.... Функция ушла раньше
привожу более точный запрос
"//{{ЗАПРОС(Сформировать)
    |РасходнаяНакладная = Документ.РасходнаяНакладная.ТекущийДокумент;
    |Фирма = Документ.РасходнаяНакладная.Фирма;
    |Патриот = Документ.РасходнаяНакладная.Партия.Док; // Пытался также получить такую строку Патриот = Документ.РасходнаяНакладная.Партия.Док.НомерДок;
    |ДатаПартии =Документ.РасходнаяНакладная.Партия.Дата_Прих;
//    |Группировка РасходнаяНакладная;
    |Группировка Патриот;
    |Группировка ДатаПартии;    
//    |без Итогов;
    |Условие(Фирма в Фирма);
    |Условие(Патриот в СпПартий);
    |"


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Zaval Подменю пользователя
сообщение 02.12.11, 17:11
Сообщение #9

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Добавьте в запрос Функцию.

Kutuzov Подменю пользователя
сообщение 02.12.11, 17:17
Сообщение #10

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

Всем Спасибо....

Проблему решил сам.... ну конечно не без вашей помощи.....
Вся проблема в том что я не указал период и он мне выдавал пустой результат.... Я с таким уже сталкивался в прошлый раз когда у меня отрабатывалось на Win Xp А на Win 7 не хотело. вот тут и так

Сообщение отредактировал Kutuzov - 02.12.11, 17:19


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Стрелок Подменю пользователя
сообщение 09.12.11, 10:17
Сообщение #11

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

Цитата(Zaval @ 02.12.11, 18:11) *
Добавьте в запрос Функцию.


функция нужна только для запросов к регистрам


Signature
Программист 1С - любимчик бухгалтеров

sava1 Подменю пользователя
сообщение 09.12.11, 14:09
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2691
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

функция нужна только для запросов к регистрам

Иногда лучше помолчать...

Kutuzov Подменю пользователя
сообщение 09.12.11, 15:27
Сообщение #13

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

Кстати все таки пришлось использовать в запросе строку
 Без Итогов
так как была необходимость сворачивать таблицу, а запрос делал в результат еще итоговые строки но без сумм

Цитата(Стрелок @ 09.12.11, 10:17) *
функция нужна только для запросов к регистрам


faceoff.gif

Сообщение отредактировал Kutuzov - 09.12.11, 15:27


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Домовик Подменю пользователя
сообщение 09.12.11, 16:17
Сообщение #14

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

примеры приведите.... лбы они закрывают smile.gif.
функции нужны для обработки полученных данных внутри запроса. при этом фомируется новое поле таблицы. Стрелок, вы имели ввиду частный случай- чтение значения ресурсов.

g789 Подменю пользователя
сообщение 09.12.11, 17:20
Сообщение #15

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

Цитата(Домовик @ 09.12.11, 16:17) *
примеры приведите.... лбы они закрывают smile.gif.
функции нужны для обработки полученных данных внутри запроса. при этом фомируется новое поле таблицы. Стрелок, вы имели ввиду частный случай- чтение значения ресурсов.

ЖКК -
Операторы функций в запросе можно опускать, тогда запрос просто не бу­дет ничего вычислять, а просто во временный набор данных заносятся записи со значениями Группировок. Однако это справедливо только для работы запро­сов по справочникам и по документам. При работе запроса по регистрам следу­ет помнить, что в этом случае обязательно наличие Функций, причем только в том случае, когда их вычисленные значения отличны от нуля (хотя бы одной из заданных Функций), найденные объекты включаются во временный набор данных, формируемый запросом. Если при работе запроса по регистрам в тек­сте запроса операторы функций опущены, то программа не выдаст никакого сообщения об ошибке, добросовестно пройдет по всем Группировкам, не вы­числит никаких значений Функций и, значит, ничего не запишет во временном файле

Спасибо сказали: Домовик,

Домовик Подменю пользователя
сообщение 09.12.11, 18:18
Сообщение #16

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Да, но это Операторы. (Сумма,Минимум,Максимум, количество).


Нам сейчас тему закроют. )

Kutuzov Подменю пользователя
сообщение 12.12.11, 14:45
Сообщение #17

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

Цитата(Домовик @ 09.12.11, 16:17) *
примеры приведите.... лбы они закрывают smile.gif.
функции нужны для обработки полученных данных внутри запроса. при этом фомируется новое поле таблицы. Стрелок, вы имели ввиду частный случай- чтение значения ресурсов.


Тут было ключевое слово Только


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

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


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

 

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