Программирование. Найти Символы.ПС запросом на СКД
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Гость форума

    Регистрация
    07.03.2010
    Сообщений
    7
    Сказал(а) спасибо
    404
    Поблагодарили 537 раз(а) в 79 сообщениях

    По умолчанию Программирование. Найти Символы.ПС запросом на СКД

    Уважаемые форумчане, прошу помощи, поскольку не могу разобраться с, казалось бы, простой вещью:
    Конфигурация Розница 2.3 (УФ). У элемента справочника Номенклатура имеется многострочное текстовое поле "Описание". Требуется запросом в отчёте на СКД найти элементы Номенклатуры, у которых текст в этом поле заканчивается на сочетание символов <пробел><перевод строки>.

    К консоли запросов сделал тестовый запрос:
    Код:
    ВЫБРАТЬ
    	Номенклатура.Код КАК Код,
    	Номенклатура.Ссылка КАК Ссылка,
    	Номенклатура.Описание КАК Описание
    ИЗ
    	Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    	Номенклатура.ЭтоГруппа = ЛОЖЬ
    	И Номенклатура.Описание ПОДОБНО "% " + &Строка
    Если параметр &Строка передать в консоль в качестве выражения Результат=Символы.ПС; то запрос отрабатывается нормально. Если же в последней строке запроса указать "ПОДОБНО "% "+Символы.ПС", то в консоли вываливается ошибка "Поле не найдено".

    Вопрос: можно ли как-то обойтись в запросе без дополнительного параметра &Строка?
    Если это невозможно, то как передать значение этого параметра во внешнем отчёте СКД? И можно ли это сделать средствами СКД, без кода?

    "Рыба" отчёта ВнешнийОтчет1.erf: https://dropmefiles.com/T0xEh

  2. #2
    Гость форума

    Регистрация
    07.03.2010
    Сообщений
    7
    Сказал(а) спасибо
    404
    Поблагодарили 537 раз(а) в 79 сообщениях

    По умолчанию Re: Программирование. Найти Символы.ПС запросом на СКД

    Сам спросил, сам и ответил :-)
    В общем, получилось решить проблему следующим образом:
    1. Параметр, как выяснилось, нельзя использовать в запросе в виде
    Код:
    ПОДОБНО "% " + &Параметр
    однако можно использовать как
    Код:
    ПОДОБНО &Параметр
    Об этом написано в официальном мануале: https://its.1c.ru/db/v8std/content/726/hdoc

    2. Конструкцию в виде Символы.ПС нельзя использовать в поле "Выражение" на вкладке "Параметры" во внешнем отчёте СКД, поскольку 1С в этом случае почему-то думает, что "Символы.ПС" - это поле, а не спецсимвол.

    3. Соответственно, значение параметра &Строка пришлось установить в Модуле объекта внешнего отчёта:
    Код:
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    	ПараметрРасчета = Новый ПараметрКомпоновкиДанных("Строка");
    	Строка = "% " + Символы.ПС;
    	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(ПараметрРасчета, Строка);
    КонецПроцедуры
    и в запросе при сравнении брать значение этого параметра:
    Код:
    ВЫБРАТЬ
    	Номенклатура.Код КАК Код,
    	Номенклатура.Ссылка КАК Ссылка,
    	Номенклатура.Описание КАК Описание
    ИЗ
    	Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    	Номенклатура.ЭтоГруппа = ЛОЖЬ
    	И Номенклатура.Описание ПОДОБНО &Строка
    Рабочий пример: https://dropmefiles.com/SnFTW

Похожие темы

  1. УТ 10.3.30 Алкоголь Помогите решить с запросом лицензии для ЛВЗ
    от nikitak7 в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3
    Ответов: 1
    Последнее сообщение: 16.01.2015, 15:36
  2. Ответов: 0
    Последнее сообщение: 10.04.2014, 00:21
  3. Помогите с запросом 1с 7.7
    от ACCuCTEHT в разделе Конфигурирование, программирование 1С - Предприятие
    Ответов: 0
    Последнее сообщение: 25.03.2014, 16:56
  4. строки и символы на Паскале.
    от xwww в разделе Прикладное программирование
    Ответов: 1
    Последнее сообщение: 28.04.2008, 16:25

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •