Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Остатки по регистру (число прочтений - 4901 )
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Остатки по регистру
11. Декабря 2019 :: 17:52
Печать  
Доброго всем дня!
Подскажите, запрос в Файловой
|SELECT
|     $РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
|     $РегСН.Количество  AS КоличествоОстаток
|  FROM
|     $РегистрИтоги.ОстаткиТМЦ as РегСН
|  WHERE
|     (period = :ПредМесяц~~)
|     AND ($РегСН.Склад=:ВыбСклад)
| ";

С отбором ВыбСклад - дает пустой результат, стоит его убрать так данные есть, не пойму где тупняк. Подскажите пжл
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #1 - 12. Декабря 2019 :: 14:51
Печать  
ObmanOZ писал(а) 11. Декабря 2019 :: 17:52:
С отбором ВыбСклад - дает пустой результат, стоит его убрать так данные есть, не пойму где тупняк. Подскажите пжл


А где код в котором устанавливается :ВыбСклад?
  
Наверх
www  
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 58
Зарегистрирован: 06. Февраля 2019
Re: Остатки по регистру
Ответ #2 - 12. Декабря 2019 :: 14:56
Печать  
у меня на 1sqlite работает вот так:

Код (SQL)
Выбрать все
|SELECT
|     РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
|     РегСН.Количество  AS КоличествоОстаток
|  FROM
|     [РегистрИтоги.ОстаткиТМЦ] as РегСН
|  WHERE
|     (РегСН.period = :ПредМесяц)
|     AND (РегСН.Склад=:ВыбСклад)
| "; 



ВыбСклад - реквизит диалога (поле ввода) на форме, с типом Справчник.Склады
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #3 - 12. Декабря 2019 :: 21:32
Печать  
Djelf писал(а) 12. Декабря 2019 :: 14:51:
ObmanOZ писал(а) 11. Декабря 2019 :: 17:52:
С отбором ВыбСклад - дает пустой результат, стоит его убрать так данные есть, не пойму где тупняк. Подскажите пжл


А где код в котором устанавливается :ВыбСклад?


Сорри, в тексте
рс.УстановитьТекстовыйПараметр("ВыбСклад", ВыбСклад);
рс.УстановитьТекстовыйПараметр("ПредМесяц", НачМесяца(НачМесяца(ПолучитьДатуТА())-1));

На форме реквизит ВыбСклад - Справочник.Склады
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #4 - 12. Декабря 2019 :: 21:34
Печать  
Arbuz писал(а) 12. Декабря 2019 :: 14:56:
у меня на 1sqlite работает вот так:

Код (SQL)
Выбрать все
|SELECT
|     РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
|     РегСН.Количество  AS КоличествоОстаток
|  FROM
|     [РегистрИтоги.ОстаткиТМЦ] as РегСН
|  WHERE
|     (РегСН.period = :ПредМесяц)
|     AND (РегСН.Склад=:ВыбСклад)
| "; 



ВыбСклад - реквизит диалога (поле ввода) на форме, с типом Справчник.Склады


Та у меня такой же) Но в файловой не стартует
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Остатки по регистру
Ответ #5 - 13. Декабря 2019 :: 07:16
Печать  
Вероятно реквизит $РегСН.Склад имеет тип Справочник (без вида)
Тогда так $РегСН.Склад=:ВыбСклад~
  

1&&2&&3
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #6 - 13. Декабря 2019 :: 07:23
Печать  
http://www.script-coding.com/Direct_queries.html

Цитата:
Что бы посмотреть, какой же запрос в итоге уйдет на сервер, у объекта ODBCRecordset существует метод Отладка(Вкл).

RS.Отладка(1);
ТЗ = RS.ВыполнитьИнструкцию(Текст);
В окно сообщений выведется текст:


Вот там и будет видно что подставляется на самом деле.
  
Наверх
www  
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #7 - 13. Декабря 2019 :: 07:28
Печать  
ObmanOZ писал(а) 12. Декабря 2019 :: 21:34:
Та у меня такой же) Но в файловой не стартует

Что это не стартует? 1sqlite? Как это не стартует?

1sqlite проще на файловой, и на файловой через odbc недоступны вкусности типа cte и оконных функций.
  
Наверх
www  
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #8 - 13. Декабря 2019 :: 10:33
Печать  
Djelf писал(а) 13. Декабря 2019 :: 07:28:
ObmanOZ писал(а) 12. Декабря 2019 :: 21:34:
Та у меня такой же) Но в файловой не стартует

Что это не стартует? 1sqlite? Как это не стартует?

1sqlite проще на файловой, и на файловой через odbc недоступны вкусности типа cte и оконных функций.


Сорри, почему то вечером принял Ваш запрос за скульный
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #9 - 13. Декабря 2019 :: 10:36
Печать  
trad писал(а) 13. Декабря 2019 :: 07:16:
Вероятно реквизит $РегСН.Склад имеет тип Справочник (без вида)
Тогда так $РегСН.Склад=:ВыбСклад~



Ошибку дает
"meta name parser error: модификатор не определен для типа"
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #10 - 13. Декабря 2019 :: 10:38
Печать  
Мужики, всем спасибо, это я лох, я в начале модуля сделал
     //Перем ВыбФирма; //:Справочник.Фирмы
     //Перем ВыбТовар; //:Справочник.Номенклатура
     //Перем ВыбСклад; //:Справочник.Склады
закоментил и пошел результат
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #11 - 13. Декабря 2019 :: 10:41
Печать  
ObmanOZ писал(а) 13. Декабря 2019 :: 10:38:
Ссылка на обработку https://yadi.sk/d/IBn76XdlCZr0sQ


Так низззяяяяя Подмигивание
Перем ВыбСклад; //:Справочник.Склады

В результате этого ВыбСклад = ПустоеЗначение
  
Наверх
www  
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #12 - 13. Декабря 2019 :: 11:18
Печать  
Djelf писал(а) 13. Декабря 2019 :: 10:41:
ObmanOZ писал(а) 13. Декабря 2019 :: 10:38:
Ссылка на обработку https://yadi.sk/d/IBn76XdlCZr0sQ


Так низззяяяяя Подмигивание
Перем ВыбСклад; //:Справочник.Склады

В результате этого ВыбСклад = ПустоеЗначение


Спасибо Вам огромное, чуть опередили меня, я Выше сообщение отредактировал как раз)
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #13 - 13. Декабря 2019 :: 11:20
Печать  
Djelf писал(а) 13. Декабря 2019 :: 10:41:
ObmanOZ писал(а) 13. Декабря 2019 :: 10:38:
Ссылка на обработку https://yadi.sk/d/IBn76XdlCZr0sQ


Так низззяяяяя Подмигивание
Перем ВыбСклад; //:Справочник.Склады

В результате этого ВыбСклад = ПустоеЗначение


Работал только с запросом и чет туда даже не смотрел, видать вначале когда запрос делал о другом думал)
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #14 - 13. Декабря 2019 :: 14:10
Печать  
Учти следующее:
Если у Склада в регистре ОстаткиТМЦ установлен флаг отбор итогов, то foxpro этот индекс использовать не будет.

http://www.1cpp.ru/forum/YaBB.pl?num=1184317705

А чтобы использовал нужно извратится вот так:
Код (SQL)
Выбрать все
WHERE DTOS(РегСН.period) + $РегСН.Склад = DTOS(:ПредМесяц~~) + :ВыбСклад
 


При построении сложных или динамических отчетов такие конструкции довольно затруднительно писать.

С 1sqlite этого делать не требуется, индекс будет использован автоматически.

Примерный тест этого запроса вот такой (1sqlite версии 3.30.0.23 https://cloud.mail.ru/public/9znr/ZJ6ULE9aR ):
Без использования индекса по period+склад:
foxpro 41мс
1sqlite 39мс
При использовании индекса по period+склад:
foxpro 7мс
1sqlite 17мс
В монопольном режиме при использовании индекса:
foxpro не работает (варианты работы в таком режиме есть, но это не монопольный режим запуска 1С)
1sqlite 3мс

Движок 1С, который использует 1sqlite, отстает от фокса при работе с индексами (при попадании в индекс в фоксе).
В другом запросе, более сложном, возможен и обратный результат.
Стоит ли потраченное время и головная боль на подбор индекса, вот таким извращенным способом, при использовании фокса?
« Последняя редакция: 13. Декабря 2019 :: 15:45 - Djelf »  
Наверх
www  
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #15 - 19. Декабря 2019 :: 13:35
Печать  
Djelf писал(а) 13. Декабря 2019 :: 10:41:
ObmanOZ писал(а) 13. Декабря 2019 :: 10:38:
Ссылка на обработку https://yadi.sk/d/IBn76XdlCZr0sQ


Так низззяяяяя Подмигивание
Перем ВыбСклад; //:Справочник.Склады

В результате этого ВыбСклад = ПустоеЗначение


Доброго дня) А не подскажите как дополнительно сделать отбор по наименованию?
В смысле что сам текст отбора будет примерно таким
UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска)
Как в запрос впихнуть $Номенклатура.ПолнНаименование? Надо как то хитро##по ведь через Объединить? )
  
Наверх
 
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 58
Зарегистрирован: 06. Февраля 2019
Re: Остатки по регистру
Ответ #16 - 19. Декабря 2019 :: 13:39
Печать  
надо джойнить таблицу справочник.номенклатура
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #17 - 19. Декабря 2019 :: 13:45
Печать  
Arbuz писал(а) 19. Декабря 2019 :: 13:39:
надо джойнить таблицу справочник.номенклатура

|SELECT
|     $РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
|     $РегСН.Склад AS [Склад $Справочник.Склады],
|     $РегСН.Количество  AS КоличествоОстаток,
|     $Номенклатура.ПолнНаименование AS ПолнНаименование
|FROM $РегистрИтоги.ОстаткиТМЦ as РегСН
|FULL OUTER JOIN $Справочник.Номенклатура AS Номенклатура ON $РегСН.Номенклатура = Номенклатура.ID
|  WHERE
|     (period = :ВыбДата~~)
|     AND ($РегСН.Фирма=:ВыбФирмы)
|     AND ($РегСН.Склад=:ВыбСклад)
|     UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска)

Вот так не работает )
  
Наверх
 
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 58
Зарегистрирован: 06. Февраля 2019
Re: Остатки по регистру
Ответ #18 - 19. Декабря 2019 :: 13:50
Печать  
Код (SQL)
Выбрать все
|SELECT
|     $РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
|     $РегСН.Склад AS [Склад $Справочник.Склады],
|     $РегСН.Количество  AS КоличествоОстаток,
|     $Номенклатура.ПолнНаименование AS ПолнНаименование
|FROM $РегистрИтоги.ОстаткиТМЦ as РегСН
|LEFT JOIN $Справочник.Номенклатура AS Номенклатура ON $РегСН.Номенклатура = Номенклатура.ID AND UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска)
|  WHERE
|     (period = :ВыбДата~~)
|     AND ($РегСН.Фирма=:ВыбФирмы)
|     AND ($РегСН.Склад=:ВыбСклад)
|
 



Добавлено: упс! это тоже неправильно - надо либо тогда INNER JOIN вместо LEFT либо условие из ON  - AND UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска) - перенести в блок WHERE, как и было, только там изначально было пропущено AND
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #19 - 19. Декабря 2019 :: 15:51
Печать  
Arbuz писал(а) 19. Декабря 2019 :: 13:50:
Добавлено: упс! это тоже неправильно - надо либо тогда INNER JOIN вместо LEFT либо условие из ON  - AND UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска) - перенести в блок WHERE, как и было, только там изначально было пропущено AND


Да, так правильно. Либо так, либо сяк.

Но нужно учесть что :СтрокаПоиска видимо (с mssql проверить не могу) возможно должна быть ограничена с обоих сторон одинарной кавычкой и знаком %.
Для mssql есть ПодготовленныйЗапрос и установка некоторых параметров на ходу? Не в курсе, должно наверное быть...

У меня на 1sqlite вот так
Код (SQL)
Выбрать все
 LEFT JOIN ()
 ...
 WHERE
 CASE WHEN @Наименование='*' THEN 1 ELSE Т.Наименование LIKE @Наименование END
 



@Наименование='*' устанавливаем сразу при установки в ТП.

А в ТП в ПриБыстромПоиске
Поиск="%"+СтрЗаменить(СокрЛП(Данные)," ","%")+"%";

Шустро, и не нужно запоминать или вводить %, просто считаем что пробел это любые символы. Юзверям такое понять и запомнить значительно проще Подмигивание

Ну и при ESC сбрасываем @Наименование на '*'.

И ESC, блокируем в
  Процедура тпОстатки_ПриНажатииКлавиши(тп,ВиртКод, Данные,
  Клавиатура, ФСО)
     Если ВиртКод=27 Тогда // ESC
           ФСО=0;
           тп.ТекущаяКолонка.Параметр = "*";
           тп.ТекущаяКолонка.Заголовок="Товар";
           тп.ТекущаяКолонка.ШрифтЗаголовка=ШрифтТекста;
           тп.ПоставщикДанных.УстановитьПараметр("@Наименование","*");
           тп.ПоставщикДанных.Перечитать();
     Иначе

P.S. Микросекунды (а может и нет) на подготовку запроса могут быть важны.
  
Наверх
www  
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #20 - 24. Декабря 2019 :: 11:24
Печать  
Arbuz писал(а) 19. Декабря 2019 :: 13:50:
Код (SQL)
Выбрать все
|SELECT
|     $РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
|     $РегСН.Склад AS [Склад $Справочник.Склады],
|     $РегСН.Количество  AS КоличествоОстаток,
|     $Номенклатура.ПолнНаименование AS ПолнНаименование
|FROM $РегистрИтоги.ОстаткиТМЦ as РегСН
|LEFT JOIN $Справочник.Номенклатура AS Номенклатура ON $РегСН.Номенклатура = Номенклатура.ID AND UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска)
|  WHERE
|     (period = :ВыбДата~~)
|     AND ($РегСН.Фирма=:ВыбФирмы)
|     AND ($РегСН.Склад=:ВыбСклад)
|
 



Добавлено: упс! это тоже неправильно - надо либо тогда INNER JOIN вместо LEFT либо условие из ON  - AND UPPER(left($Номенклатура.ПолнНаименование,254)) LIKE (:СтрокаПоиска) - перенести в блок WHERE, как и было, только там изначально было пропущено AND


Снова занялся этим вопросом, не взлетело... вот мой текст
   |SELECT
   |     $РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
   |     $РегСН.Склад AS [Склад $Справочник.Склады],
   |     $РегСН.Количество  AS КоличествоОстаток,
   |     СпрНом.Descr as Наименование
   |FROM $РегистрИтоги.ОстаткиТМЦ as РегСН
   |LEFT JOIN $Справочник.Номенклатура AS СпрНом ON $РегСН.Номенклатура = СпрНом.ID
   |  WHERE
   |     (period = :ВыбДата~~)
   |     AND ($РегСН.Фирма=:ВыбФирмы)
   |     AND ($РегСН.Склад=:ВыбСклад)
   |     AND (UPPER(left(СпрНом.Descr as Наименование,254)) LIKE (:СтрокаПоиска))
   | ";

Получаю ошибку:
FAILED! ICommandText::Execute(): Function name is missing ).
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #21 - 24. Декабря 2019 :: 11:26
Печать  
Строку поиска устанавливаю так:

На форме поле текст
_СтрокаПоиска="%"+СокрЛП(Врег(Текст))+"%";
рс.УстановитьТекстовыйПараметр("СтрокаПоиска", _СтрокаПоиска);
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #22 - 24. Декабря 2019 :: 11:59
Печать  
ObmanOZ писал(а) 24. Декабря 2019 :: 11:24:
AND UPPER(left(СпрНом.Descr as Наименование,254)) LIKE (:СтрокаПоиска))

Получаю ошибку:
FAILED! ICommandText::Execute(): Function name is missing ).


LIKE со скобками это функция LIKE(), а ее нет! LIKE пишется без скобок.
  
Наверх
www  
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #23 - 24. Декабря 2019 :: 13:18
Печать  
Djelf писал(а) 24. Декабря 2019 :: 11:59:
ObmanOZ писал(а) 24. Декабря 2019 :: 11:24:
AND UPPER(left(СпрНом.Descr as Наименование,254)) LIKE (:СтрокаПоиска))

Получаю ошибку:
FAILED! ICommandText::Execute(): Function name is missing ).


LIKE со скобками это функция LIKE(), а ее нет! LIKE пишется без скобок.


Спасибо огромное, Вы были правы, вот так заработало:
|SELECT
   |     $РегСН.Номенклатура AS [Товар $Справочник.Номенклатура],
   |     $РегСН.Склад AS [Склад $Справочник.Склады],
   |     $РегСН.Количество  AS КоличествоОстаток,
   |     СпрНом.Descr as Наименование
   |FROM $РегистрИтоги.ОстаткиТМЦ as РегСН
   |LEFT JOIN $Справочник.Номенклатура AS СпрНом ON $РегСН.Номенклатура = СпрНом.ID
   |  WHERE
   |     (period = :ВыбДата~~)
   |     AND ($РегСН.Фирма=:ВыбФирмы)
   |     AND ($РегСН.Склад=:ВыбСклад)
   |     AND UPPER(СпрНом.Descr) LIKE 'СтрокаПоиска'
   | ";
Павда результат пока пустой, но с этим я разберусь)
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #24 - 24. Декабря 2019 :: 15:47
Печать  
ObmanOZ писал(а) 24. Декабря 2019 :: 13:18:
   |     AND ($РегСН.Фирма=:ВыбФирмы)
   |     AND UPPER(СпрНом.Descr) LIKE 'СтрокаПоиска'
   | ";
Павда результат пока пустой, но с этим я разберусь)


Ну что же ты такой невнимательный? Подмигивание
1. Фирма=:ВыбФирмы
Уверен что реквизит формы именно ВыбФирмЫ? И это не список значений?
2. LIKE 'СтрокаПоиска'
Так ведь ':СтрокаПоиска' или пиши туда LIKE '"+СтрокаПоиска+"'
  
Наверх
www  
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #25 - 25. Декабря 2019 :: 09:10
Печать  
Djelf писал(а) 24. Декабря 2019 :: 15:47:
ObmanOZ писал(а) 24. Декабря 2019 :: 13:18:
   |     AND ($РегСН.Фирма=:ВыбФирмы)
   |     AND UPPER(СпрНом.Descr) LIKE 'СтрокаПоиска'
   | ";
Павда результат пока пустой, но с этим я разберусь)


Ну что же ты такой невнимательный? Подмигивание
1. Фирма=:ВыбФирмы
Уверен что реквизит формы именно ВыбФирмЫ? И это не список значений?
2. LIKE 'СтрокаПоиска'
Так ведь ':СтрокаПоиска' или пиши туда LIKE '"+СтрокаПоиска+"'


Ну я молод и тороплив)
Реквизиты проверил, все норм, запрос без условия  "AND UPPER(СпрНом.Descr) LIKE 'СтрокаПоиска'" - отрабатывает, показывает остатки по складу, я подсмотрел как в обработке POISK сделано
ТекстЗапроса = ТекстЗапроса + "LOWER("+РеквизитПоиска2+") LIKE '%"+ПодСтрокаП+"%' AND ";
Попробую также офомить и посмотрю что будет
  
Наверх
 
IP записан
 
ObmanOZ
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 24. Апреля 2019
Re: Остатки по регистру
Ответ #26 - 25. Декабря 2019 :: 09:16
Печать  
Да, заработал) Всем еще раз спасибо )
  
Наверх
 
IP записан
 
Djelf
God Member
*****
На связи


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Остатки по регистру
Ответ #27 - 25. Декабря 2019 :: 15:51
Печать  
ObmanOZ писал(а) 25. Декабря 2019 :: 09:16:
Да, заработал) Всем еще раз спасибо )

Раз заработало, значит я ошибся с LIKE ':СтрокаПоиска', видимо должно быть LIKE :СтрокаПоиска без одинарных ковычек.
SQL`я нет, чтобы проверить, и он был так давно, что уже и не припомню ;(

P.S. Отладка должна выдавать тот запрос, что передается в SQL, там было бы сразу видно двойные ковычки...
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать