|
|||
EugeneSemyonov
29.08.12 — 22:54 |
доброй всем ночи!
помогите кто сможет! То ли лыжи не едут то ли я … |
||
Aleksey
1 — 29.08.12 — 22:56 |
» Контрагенты.Ссылка ПОДОБНО % » — это что за еретизм? Что и с чем сравниваешь то? |
||
Aleksey
2 — 29.08.12 — 22:56 |
ПОДОБНО — Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL. (с) http://help1c.com/faq82/view/852.html |
||
Джинн
3 — 29.08.12 — 22:57 |
ПОДОБНО «»%»» + &Наименование + «»%»» А так (1) прав — бред |
||
Aleksey
4 — 29.08.12 — 22:58 |
(3) Ты или «&» убери или «+» |
||
Джинн
5 — 29.08.12 — 22:58 |
(4) Ага. Туплю. |
||
EugeneSemyonov
6 — 29.08.12 — 23:05 |
(1) % — любое количество любых символов, т.е. Запрос должен сдать всех. Единственое меня смущает может Ссылка и Представление не являются строками? Пытался так ПОДСТРОКА(контрагенты.ссылка) ПОДОБНО % — результат тот же. |
||
Джинн
7 — 29.08.12 — 23:08 |
(6) Наименование… |
||
vmv
8 — 29.08.12 — 23:21 |
(6) преобразование в строку из других типов запрос не делает, еретик — сжечь |
||
EugeneSemyonov
9 — 29.08.12 — 23:22 |
(7) дочитал ссылку которую мне дал Алексей там внизу мелким шрифтом «не работает со строками неограниченой длины» и я понял в чем ошибка и тебе спасибо. Запрос для примера заработал, сейчас буду пробовать на рабочем запросе. |
||
Aleksey
10 — 29.08.12 — 23:24 |
ВЫБРАТЬ Запрос.УстановитьПараметр(«Наименование», «%» + Текст + «%»); |
||
EugeneSemyonov 11 — 29.08.12 — 23:42 |
Ещё раз спасибо Джинн, Алексей! С наименованием всё получилось. |
TurboConf — расширение возможностей Конфигуратора 1С
Доработка, которая позволяет упростить процесс создания маркетинговой акции, сделать его наглядным и простым для пользователя.
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Нулевое значение параметров Максимальный объем памяти рабочих процессов и Безопасный расход памяти за один вызов значит использование величины по умолчанию, которая равна 80 объема физической оперативной памяти и 10 от Максимального объема памяти рабочих процессов соответственно. Ошибка синтаксиса шаблона в позиции 2 — IT Новости Обращайтесь в форму связи
Некорректная работа 1С, к сожалению, не такое редкое явление. К сбоям могут привести различные обстоятельства. Назовем наиболее распространенные из них:
- ошибки в коде, изначально допущенные разработчиками. В этом случае сбой может возникнуть при обновлении программы или при выполнении определенной операции в системе;
- человеческий фактор. Неправильные действия самого пользователя могут привести к неправильному функционированию или прекращению работы системы;
- банальное отключение электричества или скачок напряжения. Внезапное прерывание работы программы может стать причиной дальнейших сбоев и потери информации.
Специалисты 1С ответят на любые вопросы
и помогут абсолютно бесплатно!
Это только некоторые обстоятельства, способные привести к неправильному функционированию системы. И если одни ошибки информационной базы данных 1С просто мешают работать, то другие способны привести к потере важной информации.
Перечислим наиболее распространенные сбои. Также рассмотрим, как исправить ошибки 1С, если они возникли, и что делать, если своими силами справиться с проблемой не получается.
Инструкция | Часто встречаемые ошибки
Java чувствительная к регистру. Неправильное написание имён – частая ошибка для новых программистов. Например, пишут слово main как Main, а вместо String пишут string. Пример:
Ошибки программирования — Учебник: программирование на Java
- поставьте галочки в нужных пунктах,
- выгрузите файлы в *.dt, а затем загрузите чистую ИБ;
- создайте другого пользователя. Новой учетной записи нужно дать полный набор прав;
- зайдите от имени нового пользователя.
Основные типы ошибок 1С
Рассмотрим по порядку наиболее часто встречающиеся варианты ошибок в работе 1С и варианты, как ошибка информационной базы может быть оперативно устранена.
Ошибка формата потока в 1С
Пользователи нередко могут получить такое сообщение при запуске программы. В окошке будет только три варианта действия: нажать «Завершить работу», «Перезапустить» или кликнуть строчку «Показать информацию для технической поддержки».
Также необходимо удалить и заново добавить базу в окне запуска. Таким образом произойдет очистка кэша. Старые файлы (которые будут заменены после обновления базы данных 1С) при этом лучше стереть вручную. В окне запуска нужно выбрать «Каталоги шаблонов…» и удалить временные файлы из выбранной папки.
Ошибка доступа 1С
Еще один распространенный сбой, который может возникать при неверном указании формата хранилища или повреждении файла конфигурации. Возникшая неполадка также отсылает нас к папке с временными файлами. Их расположение – AppData/Local/1C. Далее следует хранилище файлов, в названии которого – цифры.
Если сбой указывает на хранилище временных данных, которые приводят к некорректному функционированию программы, следует стереть временные файлы – произвести очистку кэша в выбранной директории. К примеру, это может быть папка Local. Удаление временных файлов должно решить возникшую проблему.
Ошибка запуска
Если у вас Windows XP, для устранения проблемы необходимо отключить ускорение видеокарты. Для этого потребуется выполнить следующие действия:
Затем нажмите «ОК». Таким образом вы сможете отключить ускорение. После этого нужно перезагрузить систему.
Если у вас Windows 7, порядок действий будет немного иным:
- нужно будет сначала открыть «Панель управления», затем выбрать раздел «Экран», нажать «Дополнительные параметры» в появившемся окне;
- далее во вкладке «Диагностика» выберите пункт «Изменить параметры»;
- затем ползунок также необходимо будет сдвинуть влево и нажать «ОК».
После этого также потребуется перезагрузить компьютер. При правильном выполнении этой операции причина возникновения ошибки будет устранена.
Специалисты 1С ответят на любые вопросы
и помогут выбрать программу абсолютно бесплатно!
Если у вас включен контроль учетных записей пользователя, предстоит дополнительно подтвердить, что изменения, которые вы осуществляете, санкционированы владельцем
Промокоды на Лайм Займ на скидки
Займы для физических лиц под низкий процент
- 💲Сумма: от 2 000 до 70 000 рублей
- 🕑Срок: от 7 до 168 дней
- 👍Первый заём для новых клиентов — 0%, повторный — скидка -10 % по промокоду
Обратите внимание! Если вы пользуетесь антивирусом «Лаборатории Касперского», вы можете отключить защиту самостоятельно и переименовать файлы в системе (их названия в папке kloehk.dll и mzvkbd3.dll). Кроме того, следует проверить соответствует ли релиз платформы выбранной конфигурации, не требуется ли зайти в базу с другой платформы.
Ошибка 1С при загрузке
Программа открывается в конфигураторе, но не дает доступа к пользовательскому режиму. Чтобы устранить ошибку, потребуется очистить временные файлы, попробовать зайти под именем другого пользователя. Далее нужно протестировать программу средствами SQL и выбрать исправление базы данных 1С:
Если организация заведена и раньше модуль работал исправно, тогда нужно проверить устанавливали ли вы модуль на другой ПК, меняли железо ПК, переустанавливали Windows если устанавливали Вам необходимо сбросить привязку к ПК.
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Если необходимости в смене локализации нет, то достаточно изменить название директории, файлика и пути к нему, чтобы русские символы здесь не встречались. Павел Чистов Обращайтесь в форму связи
таблица ошибок
7 «Точка не может быть использована в качестве модификатора этого оператора.»
14 «Переменная единичной матрицы в данном контексте не определена.»
17 «достигнут предел размера стека! Используйте функцию stacksize для его увеличения.»
(*) 20 «Неверный тип первого аргумента %d: ожидалась квадратная матрица.»
26 «Слишком сложная рекурсия! (заполнена таблица рекурсии)»
34 «Ошибка синтаксиса в инструкции «select/case».» (if,while,select/case)
(*) 52 «Неверный тип параметра %d: ожидалась матрица вещественных чисел.»
(*) 53 «Неверный тип входного параметра %d: ожидалась матрица вещественных или комплексных чисел.»
(*) 54 «Неверный тип входного параметра %d: ожидался полином.»
60 «Неверный размер параметра: размерности несовместимы.»
68 «Неустранимая ошибка. Ваши переменные сохранены в файле: %s Неверный вызов к функции scilab? В противном случае отправьте отчёт об ошибке:http://bugzilla.scilab.org/»
Горящие товары с бесплатной доставкой
«AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.
(*) 76 «цикл for x=val для type(val)=%d не реализован в Scilab.»
79 «Индексация недопустима для выходных параметров resume.»
81 «%s: Неверный тип параметра %d: ожидалась матрица вещественных или комплексных чисел.»
82 «%s: Неверный тип параметра %d: ожидалась матрица вещественных чисел.»
83 «%s: Неверный тип параметра %d: ожидался вещественный вектор.»
(*) 90 «Неверный тип параметра %d: ожидалась передаточная матрица.»
(*) 91 «Неверный тип параметра %d: ожидалась форма в пространстве состояний.»
(*) 92 «Неверный тип параметра %d: ожидалась рациональная матрица.»
(*) 93 «Неверный тип параметра %d: ожидалось в непрерывном времени.»
(*) 94 «Неверный тип параметра %d: ожидалось в дискретном времени.»
(*) 95 «Неверный тип параметра %d: Ожидалось SISO (один вход, один выход).»
(*) 97 «Неверный тип параметра %d: ожидалась система в пространстве состояний или в форме передаточной матрицы.»
98 «Функция аргумента scilab вернула некорректную переменную.»
(*) 99 «Элементы %d-го параметра должны быть отсортированы по возрастанию.»
(*) 100 «Элементы %d-го параметра не являются непрерывно убывающими.»
(*) 101 «Последний элемент %d-го параметра не равен первому.»
103 «Переменная %s не является корректной рациональной функцией.»
104 «Переменная %s не является корректным представлением пространства состояний.»
108 «Слишком сложно для scilab, возможно слишком длинная управляющая инструкция.»
110 «%s была функцией во время компиляции, а теперь это примитив!»
115 «Внутри цикла обнаружена проблема со стеком. Функция-примитив была вызвана с неверный количеством выходных параметров. При этом для функции не была произведёна проверка выходных параметров. Пожалуйста, сообщите об этой проблеме : http://bugzilla.scilab.org/»
(*) 117 «Элемент списка с номером %d не определён (Undefined).»
(*) 118 «Неверный тип параметра %d: ожидалась именованная переменная или выражение.»
Синтаксическая ошибка в имени файла имени папки или метке тома — что делать
Обратите внимание, что для выполнения действий может потребоваться вход в Безопасный режим , а после этого уже выполняется процедура.
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Если у вас возникает такая ошибка при выгрузки информации или загрузке, необходимо проверить один момент, он достаточно редкий, но вполне допустимый. Проблемы локализации Обращайтесь в форму связи
Декларации по формам 7 и 8 алкогольной продукции, перенос данных из Декларант-Алко, импорт данных из файлов XML форм 11,12,7,8
Конфигурация на управляемых формах, платформа 1С 8.3.10.2667 и выше, с помощью которой можно сформировать Декларации по формам 7 и 8 алкогольной продукции, выполнить перенос данных из ПО Декларант-Алко версии 4.31.05 и выше, импорт и загрузку из файлов XML форм 11,12,7,8. Есть возможность автоматического подписания и шифрации файла выгрузки.
Мобильное приложение для использования Android смартфона в качестве сканера штрихкодов для 1С. Маркировка, проведение инвентаризации, честный знак, ЕГАИС, ВетИС, МДЛП, все типы штрихкодов. Аналог сканера штрихкодов. Инструмент для работы со штрихкодами и маркированным товаром.
Примеры работы с API в Честный знак (обувь)
Отображение цен и остатков в списке номенклатуры и подборах «как в УТ 10.3» в УТ 11, КА 2, ERP 2 (расширение, платформа 8.3.12+)
Предлагаю вам свою версию обработки из многочисленных обработок для работы с «Честным знаком». Позволяет печать марки для обуви и вводить в оборот. Для нескольких популярных конфигураций.
Набор обработок для автоматизации работы с ЕГАИС: Обработка корректировки остатков ЕГАИС для УТ 10.3, аналогичная имеющимся в УТ 11, Рознице 2.2. Автоматически формирует документы «Передача в торговый зал», «Акт постановки на баланс в торговом зале», «Акт списания в торговом зале». Обработка возврата из регистра 2 с подбором справок Б. Обработка формирования ТТН из файлов xml.
💥Принимайте участие в опросе и получайте бесплатную консультацию
|
|||
EugeneSemyonov
29.08.12 — 22:54 |
доброй всем ночи! помогите кто сможет! То ли лыжи не едут то ли я … создаю запрос в конструкторе запросов — он мне сразу при выборе оператора ПОДОБНО рисует красный круг с крестом на условии и не сохраняет его. пытался отредактировать запрос вручную (в соответствие с синтаксис-помощником, КБ на Мисте, и советами в форумах) при попытке выполнения такого простого запроса который должен выбрать все значения справочника: ВЫБРАТЬ Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Ссылка ПОДОБНО % консоль запросов говорит : «синтаксическая ошибка»%» ПОДОБНО <<?>>%», если брать % в кавычки или скобки : «неверные параметры ПОДОБНО <<?>>%» пробовал использовать Представление вместо Ссылки и параметр вместо % не помогает — неверные параметры! Кто скажет где собака зарылась? |
||
Aleksey
1 — 29.08.12 — 22:56 |
» Контрагенты.Ссылка ПОДОБНО % » — это что за еретизм? Что и с чем сравниваешь то? |
||
Aleksey
2 — 29.08.12 — 22:56 |
ПОДОБНО — Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL. Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ. (с) http://help1c.com/faq82/view/852.html |
||
Джинн
3 — 29.08.12 — 22:57 |
ПОДОБНО «»%»» + &Наименование + «»%»» А так (1) прав — бред |
||
Aleksey
4 — 29.08.12 — 22:58 |
(3) Ты или «&» убери или «+» |
||
Джинн
5 — 29.08.12 — 22:58 |
(4) Ага. Туплю. |
||
EugeneSemyonov
6 — 29.08.12 — 23:05 |
(1) % — любое количество любых символов, т.е. Запрос должен сдать всех. Единственое меня смущает может Ссылка и Представление не являются строками? Пытался так ПОДСТРОКА(контрагенты.ссылка) ПОДОБНО % — результат тот же. |
||
Джинн
7 — 29.08.12 — 23:08 |
(6) Наименование… |
||
vmv
8 — 29.08.12 — 23:21 |
(6) преобразование в строку из других типов запрос не делает, еретик — сжечь |
||
EugeneSemyonov
9 — 29.08.12 — 23:22 |
(7) дочитал ссылку которую мне дал Алексей там внизу мелким шрифтом «не работает со строками неограниченой длины» и я понял в чем ошибка и тебе спасибо. Запрос для примера заработал, сейчас буду пробовать на рабочем запросе. |
||
Aleksey
10 — 29.08.12 — 23:24 |
ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты ГДЕ Наименование ПОДОБНО % &Наименование Запрос.УстановитьПараметр(«Наименование», «%» + Текст + «%»); |
||
EugeneSemyonov 11 — 29.08.12 — 23:42 |
Ещё раз спасибо Джинн, Алексей! С наименованием всё получилось. ВЫБРАТЬ Договоры.Ссылка ИЗ Справочник.Договоры КАК Договоры ГДЕ Договоры.Наименование ПОДОБНО &Наименование &Наименование = %20125% тему можно закрывать. |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
В общем, проблема в следующем: Мне нужно построить запрос из двух колонок: «Контрагент» и «Статус контрагента» (Покупатель, поставщик, прочее), а потом сформировать отчет, сгруппировав по статусу. Контрагент является поставщиком, если с ним проведен документ «Поступление товаров», покупателем, если «Реализация товаров» и прочим, если с ним не проведен ни один из названных. Идея следующая: Выбрать контрагентов из справочника, тип документа из журнала документа, связать их по контрагенту, указав, чтобы выводились все строчки из справочника «Контрагенты». Получается вот такой запрос:
ВЫБРАТЬ
Контрагенты.Наименование,
ДокументыУчетаТМЦ.Тип
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ ЖурналДокументов.ДокументыУчетаТМЦ КАК ДокументыУчетаТМЦ
ПО (ДокументыУчетаТМЦ.Контрагент = Контрагенты.Ссылка)
ГДЕ
НЕ Контрагенты.ЭтоГруппа
Вроде как все хорошо, думал я, осталось прописать условный оператор с ПОДОБНО, но когда пытаюсь написать такую конструкцию:
ВЫБОР
КОГДА ДокументыУчетаТМЦ.Тип ПОДОБНО "Поступление%" ТОГДА "Поставщик"
КОГДА ДокументыУчетаТМЦ.Тип ПОДОБНО "Реализация%" ТОГДА "Покупатель"
ИНАЧЕ "Прочее"
КОНЕЦ
пишет, что неверные параметры ПОДОБНО. Чувствую, что решение прям совсем рядом, но не могу найти, помогите, пожалуйста
-
Добрый день. Создаю запрос, включаю в него условие ПОДОБНО. (тип строка).
У меня в этой строке есть служебные символы
например:
[00515465456]_8495156456184-103_20111026132442(163).wavЗапрос выдает пустой результат.
Как решить эту задачу, чтобы не перебирать все элементы? Помогите пожалуйста. -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Что должен возвращать запрос? Где текст запроса?
-
Вот этот запрос не работает, (т.е. он работает если параметр «ИмяФайлаЗаписи» без служебных символов)
Запрос.Текст="ВЫБРАТЬ | ЗаказыЗаписиРазговоров.Ссылка.Ссылка |ИЗ | Документ.Заказы.ЗаписиРазговоров КАК ЗаказыЗаписиРазговоров |ГДЕ | ЗаказыЗаписиРазговоров.ПользовательПринявшийЗаявку = &Пользователь | И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи ПОДОБНО &ИмяФайлаЗаписи"; Запрос.УстановитьПараметр("ИмяФайлаЗаписи",имяФайла); Запрос.УстановитьПараметр("Пользователь",Оператор);
Сейчас сделал вот так, работает как надо, только времени больше теряется, и ресурсов.
Запрос=Новый запрос; Запрос.Текст="ВЫБРАТЬ | ЗаказыЗаписиРазговоров.Ссылка.Ссылка, | ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи |ИЗ | Документ.Заказы.ЗаписиРазговоров КАК ЗаказыЗаписиРазговоров |ГДЕ | ЗаказыЗаписиРазговоров.ПользовательПринявшийЗаявку = &Пользователь"; Запрос.УстановитьПараметр("Пользователь",Оператор); В1=запрос.Выполнить().Выбрать(); Пока В1.Следующий() Цикл Если В1.ИмяФайлаЗаписи=ИмяФайла Тогда ЗаказСсылка=В1.Ссылка; КонецЕсли; КонецЦикла;
-
Offline
PavelBaryshev
Опытный в 1С- Регистрация:
- 9 сен 2008
- Сообщения:
- 326
- Симпатии:
- 0
- Баллы:
- 26
А если за место ПОДОБНО написать СОДЕРЖИТ
-
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Вместо этого
ЗаказыЗаписиРазговоров.Ссылка.Ссылка
Правильно писать это:
ЗаказыЗаписиРазговоров.Ссылка
Это работает быстрее. Результат тот же.
В первом примере
| И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи ПОДОБНО &ИмяФайлаЗаписи"; </span> </FONT></FONT></pre>
Т.е. Вроде как ИмяФайлаЗаписи должно быть подобно имяФайла
Во втором примере:Если В1.ИмяФайлаЗаписи=ИмяФайла Тогда
Строгое равенство. Что-то странно. Почему тогда в запросе не использовать «=»?
-
Синтаксическая ошибка, «содержит» на сколько я знаю в запросе не используется.Реквизит «ИмяФайлаЗаписи» тип строка.
И если установить «=» появляется Синтаксическая ошибка -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Запрос.Текст="ВЫБРАТЬ | ЗаказыЗаписиРазговоров.Ссылка |ИЗ | Документ.Заказы.ЗаписиРазговоров КАК ЗаказыЗаписиРазговоров |ГДЕ | ЗаказыЗаписиРазговоров.ПользовательПринявшийЗаявку = &Пользователь | И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи = &ИмяФайлаЗаписи"; Запрос.УстановитьПараметр("ИмяФайлаЗаписи",имяФайла); Запрос.УстановитьПараметр("Пользователь",Оператор);
Вот так будет ошибка?! Хотя может быть если длина строки не ограничена. У вас ведь неограниченная длина строки или нет?
-
Да, действительно тип строки без ограничения длины.
{Документ..Форма.ФормаДокумента(70)}: Ошибка при вызове метода контекста (Выполнить)
В1=запрос.Выполнить().Выбрать();
по причине:по причине:
{(8, 42)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи <<?>>= &ИмяФайлаЗаписи -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Для вашего примера:
[00515465456]_8495156456184-103_20111026132442(163).wav
ИмяФайлаЗаписи будет таким:
[00515465456]_8495156456184-103_20111026132442(163)
То есть тоже самое только, без расширения да?
-
РЕШЕНО. СПАСИБО БОЛЬШОЕ ЗАРАБОТАЛО.
Изменил неограниченную длину и все заработало. теперь можно в запросе установить «=» -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Это было не обязательно был и другой выход…
-
А какой еще был выход если бы оставить неограниченную длину в реквизите и не перебирать все реквизиты в цикле? :angry:
-
Offline
has
Опытный в 1С- Регистрация:
- 18 июн 2009
- Сообщения:
- 708
- Симпатии:
- 0
- Баллы:
- 26
Наверное он имел ввиду оператор Выразить в запросе. Например
И ВЫРАЗИТЬ(ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи КАК Строка(100)) = &ИмяФайлаЗаписи
-
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Почти угадал
И ВЫРАЗИТЬ(ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи КАК Строка(100)) ПОДОБНО &ИмяФайлаЗаписи + ""%""
Я думаю должно сработать
Оператор «ПОДОБНО», в языке запросов 1С 8.3, предназначен для сравнения строковых выражений с заданным шаблоном. Результатом такой проверки будет «Ложь» или «Истина». Отличие от оператора « = », заключается в возможности использования спецсимволов.
Синтаксис:
<Строковое выражение> ПОДОБНО <«Шаблон»>
Следует понимать, что спецсимволы оператора ПОДОБНО несут служебный характер и их смысл (назначение) отличается от обычных символов.
Пояснение спецсимволов:
- « % » — любое количество обычных произвольных символов;
- « _ » — один любой обычный символ;
- « […] » — в таких скобках, возможно, указать последовательность обычных символов или диапазон (а-д, 0-5 и подобные);
- « [^…] » — с помощью знака « ^ » в квадратных скобках, можно исключить последовательность обычных символов или диапазон (а-д, 0-5 и подобные).
Рассмотрим работу такого оператора на примерах.
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
Содержание
- Оператор «ПОДОБНО» в полях выборки запроса
- Оператор «ПОДОБНО» в конструкции условного оператора «Где»
- Оператор «ПОДОБНО» в конструкции условного оператора «ВЫБОР»
- Как сравнивать текст по спецсимволу (%,..)
- Использование параметров в конструкции «ПОДОБНО»
- Возможные ошибки
Оператор «ПОДОБНО» в полях выборки запроса
ВЫБРАТЬ
Номенклатура.Наименование ПОДОБНО «Мол%» КАК Молоко,
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
Результат:
В данном примере проверяем каждую строку, начинается ли она на «Мол», для наглядности выводим такое же поле без применения оператора «ПОДОБНО».
Оператор «ПОДОБНО» в конструкции условного оператора «Где»
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО «_о%»
Результат:
Из результата запроса понятно, что были отобраны поля, у которых вторая буква « о », а после неё любые произвольные символы.
Оператор «ПОДОБНО» в конструкции условного оператора «ВЫБОР»
ВЫБРАТЬ
ВЫБОР
КОГДА Номенклатура.Наименование ПОДОБНО «%[л]%»
ТОГДА Номенклатура.Наименование
ИНАЧЕ «Не соответствует шаблону»
КОНЕЦ КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
Результат:
В таком примере помечаем поля, в которых не содержится буква « л ».
Как сравнивать текст по спецсимволу (%,..)
Для реализации таких задач требуется пользоваться ключевым словом СПЕЦСИМВОЛ. Указав любой символ после такого ключевого слова, система, в шаблоне конструкции ПОДОБНО, будет воспринимать следующий символ за ним как обычный.
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО «%/%» СПЕЦСИМВОЛ «/»
В таком примере были выбраны все поля содержащие знак « % » в конце.
Использование параметров в конструкции «ПОДОБНО»
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Наименование КАК Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Наименование ПОДОБНО &Шаблон"; Запрос.УстановитьПараметр("Шаблон", "М%");
Результат:
Установив параметр запроса в значение «М%», отбираем все поля, которые начинаются на символ « М ».
Возможные ошибки
Следует учитывать, что шаблон из конструкции оператора «ПОДОБНО» должен иметь исключительно строковый тип данных так же недопустимо формировать шаблон путём сложений строк.
Примеры неправильного формирования шаблона:
- Номенклатура.Наименование ПОДОБНО Таблица.Шаблон
- Номенклатура.Наименование ПОДОБНО «Мол» + «%»
Yulunga 1117 / 671 / 195 Регистрация: 22.04.2013 Сообщений: 5,078 Записей в блоге: 1 |
||||
1 |
||||
13.09.2017, 09:45. Показов 3928. Ответов 8 Метки нет (Все метки)
Прекрасного летнего утра !
{ВнешняяОбработка.КонсольЗапросов_8_3.МодульОбъект а(89)}: Ошибка при вызове метода контекста (НайтиПараметры): {(9, 2)}: Неверные параметры «ПОДОБНО» измаялся. ЧЯДНТ? 0 |
841 / 604 / 211 Регистрация: 24.07.2013 Сообщений: 2,101 |
|
13.09.2017, 10:32 |
2 |
Представление — это виртуальной поле. Насколько помню, его нельзя использовать нигде, кроме как выбрать в качестве поля. Добавлено через 1 минуту
задача — мне надо именно заказ Воспользуйся операцией ССЫЛКА, или сравнением типов. 0 |
1117 / 671 / 195 Регистрация: 22.04.2013 Сообщений: 5,078 Записей в блоге: 1 |
|
13.09.2017, 10:42 [ТС] |
3 |
Tklwegsd, не работает про представление понял. спасибо. 0 |
841 / 604 / 211 Регистрация: 24.07.2013 Сообщений: 2,101 |
|
13.09.2017, 11:33 |
4 |
только его разновидности. для них существуют разные формы Ну так каким-то значением они друга от друга отличаются. 1 |
3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
13.09.2017, 12:00 |
5 |
Не по теме: Yulunga, «подобно бесподобно»?:D Ты вроде тролль, но с тобой так весело… Прям открываешь и понимаешь, тему переименовать надо, но не хочется:good: Добавлено через 8 минут 0 |
1117 / 671 / 195 Регистрация: 22.04.2013 Сообщений: 5,078 Записей в блоге: 1 |
|
13.09.2017, 12:02 [ТС] |
6 |
Сообщение было отмечено GreenkA как решение РешениеТклвегсд спасибо! Нашёл я этот реквизит, который отвечает за нужное. Объект «Перечисление.ВидыОперацийЗаказПокупателя» использован в: GreenkA, ты бы посидела с 7 до 10 утра , не смогя написать простейший запрос, на котором ваще не собирался останавливаться (( Не по теме: троль, троль. низкий и толстый.не надо меня банить. я иногда приношу пользу. а иногда толстых партизан. Добавлено через 1 минуту 1 |
3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
13.09.2017, 12:23 |
7 |
В УНФ действительно есть документ-основание… И разве реквизит ВидОперации — не перечисление? 0 |
1117 / 671 / 195 Регистрация: 22.04.2013 Сообщений: 5,078 Записей в блоге: 1 |
|
13.09.2017, 20:46 [ТС] |
8 |
В УНФ действительно есть документ-основание… И разве реквизит ВидОперации — не перечисление? документ основание будет заказпокупателя. Не по теме: Ученые выяснили, что тролли в интернете — преимущественно мужчины. Исследователи связали это с большей склонностью мужчин к самолюбованию и привлечению внимания других людей. 0 |
GreenkA |
13.09.2017, 21:22 |
Не по теме:
троллингом в сети занимаются только мужчины …сказал один тролль… 0 |
-
Добрый день. Создаю запрос, включаю в него условие ПОДОБНО. (тип строка).
У меня в этой строке есть служебные символы
например:
[00515465456]_8495156456184-103_20111026132442(163).wavЗапрос выдает пустой результат.
Как решить эту задачу, чтобы не перебирать все элементы? Помогите пожалуйста. -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Что должен возвращать запрос? Где текст запроса?
-
Вот этот запрос не работает, (т.е. он работает если параметр «ИмяФайлаЗаписи» без служебных символов)
Запрос.Текст="ВЫБРАТЬ | ЗаказыЗаписиРазговоров.Ссылка.Ссылка |ИЗ | Документ.Заказы.ЗаписиРазговоров КАК ЗаказыЗаписиРазговоров |ГДЕ | ЗаказыЗаписиРазговоров.ПользовательПринявшийЗаявку = &Пользователь | И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи ПОДОБНО &ИмяФайлаЗаписи"; Запрос.УстановитьПараметр("ИмяФайлаЗаписи",имяФайла); Запрос.УстановитьПараметр("Пользователь",Оператор);
Сейчас сделал вот так, работает как надо, только времени больше теряется, и ресурсов.
Запрос=Новый запрос; Запрос.Текст="ВЫБРАТЬ | ЗаказыЗаписиРазговоров.Ссылка.Ссылка, | ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи |ИЗ | Документ.Заказы.ЗаписиРазговоров КАК ЗаказыЗаписиРазговоров |ГДЕ | ЗаказыЗаписиРазговоров.ПользовательПринявшийЗаявку = &Пользователь"; Запрос.УстановитьПараметр("Пользователь",Оператор); В1=запрос.Выполнить().Выбрать(); Пока В1.Следующий() Цикл Если В1.ИмяФайлаЗаписи=ИмяФайла Тогда ЗаказСсылка=В1.Ссылка; КонецЕсли; КонецЦикла;
-
Offline
PavelBaryshev
Опытный в 1С- Регистрация:
- 9 сен 2008
- Сообщения:
- 326
- Симпатии:
- 0
- Баллы:
- 26
А если за место ПОДОБНО написать СОДЕРЖИТ
-
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Вместо этого
ЗаказыЗаписиРазговоров.Ссылка.Ссылка
Правильно писать это:
ЗаказыЗаписиРазговоров.Ссылка
Это работает быстрее. Результат тот же.
В первом примере
| И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи ПОДОБНО &ИмяФайлаЗаписи"; </span> </FONT></FONT></pre>
Т.е. Вроде как ИмяФайлаЗаписи должно быть подобно имяФайла
Во втором примере:Если В1.ИмяФайлаЗаписи=ИмяФайла Тогда
Строгое равенство. Что-то странно. Почему тогда в запросе не использовать «=»?
-
Синтаксическая ошибка, «содержит» на сколько я знаю в запросе не используется.Реквизит «ИмяФайлаЗаписи» тип строка.
И если установить «=» появляется Синтаксическая ошибка -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Запрос.Текст="ВЫБРАТЬ | ЗаказыЗаписиРазговоров.Ссылка |ИЗ | Документ.Заказы.ЗаписиРазговоров КАК ЗаказыЗаписиРазговоров |ГДЕ | ЗаказыЗаписиРазговоров.ПользовательПринявшийЗаявку = &Пользователь | И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи = &ИмяФайлаЗаписи"; Запрос.УстановитьПараметр("ИмяФайлаЗаписи",имяФайла); Запрос.УстановитьПараметр("Пользователь",Оператор);
Вот так будет ошибка?! Хотя может быть если длина строки не ограничена. У вас ведь неограниченная длина строки или нет?
-
Да, действительно тип строки без ограничения длины.
{Документ..Форма.ФормаДокумента(70)}: Ошибка при вызове метода контекста (Выполнить)
В1=запрос.Выполнить().Выбрать();
по причине:по причине:
{(8, 42)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи <<?>>= &ИмяФайлаЗаписи -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Для вашего примера:
[00515465456]_8495156456184-103_20111026132442(163).wav
ИмяФайлаЗаписи будет таким:
[00515465456]_8495156456184-103_20111026132442(163)
То есть тоже самое только, без расширения да?
-
РЕШЕНО. СПАСИБО БОЛЬШОЕ ЗАРАБОТАЛО.
Изменил неограниченную длину и все заработало. теперь можно в запросе установить «=» -
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Это было не обязательно был и другой выход…
-
А какой еще был выход если бы оставить неограниченную длину в реквизите и не перебирать все реквизиты в цикле? :angry:
-
Offline
has
Опытный в 1С- Регистрация:
- 18 июн 2009
- Сообщения:
- 708
- Симпатии:
- 0
- Баллы:
- 26
Наверное он имел ввиду оператор Выразить в запросе. Например
И ВЫРАЗИТЬ(ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи КАК Строка(100)) = &ИмяФайлаЗаписи
-
Offline
Максим
Опытный в 1С- Регистрация:
- 28 фев 2008
- Сообщения:
- 745
- Симпатии:
- 8
- Баллы:
- 29
Почти угадал
И ВЫРАЗИТЬ(ЗаказыЗаписиРазговоров.ИмяФайлаЗаписи КАК Строка(100)) ПОДОБНО &ИмяФайлаЗаписи + ""%""
Я думаю должно сработать
Содержание:
1. Как установить параметр в запросе?
2. Функция параметра «Ссылка»
3. Параметр «Дата»
Параметр в 1С – это некий элемент, принятый функцией. В данной статье поговорим о видах и типах параметров, а также рассмотрим, как задать параметры так, чтобы избежать ошибки «Неверные параметры» в 1С.
1. Как установить параметр в запросе?
Параметр запроса – это некоторый элемент, который находится внутри функции поиска по базе данных. Рассмотрим пример, как должны быть установлены параметры запроса. Например, пускай нам нужно получить составляющие из перечня-справочника под названием «Еда» красного, жёлтого или зелёного цвета, это будет иметь такой вид:
Рис. 1 Как установить параметр в запросе «Красный»
Рис. 2 Как установить параметр в запросе «Желтый»
Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
ПОДОБНО в условиях запроса
Рассмотрим назначение и использование условного оператора ПОДОБНО(eng. LIKE) в языке запроса 1С в примерах.
Быстрый переход
- Предназначение
- Места использования
- Описание синтаксиса оператора ПОДОБНО
- Точное указание строки
- % — литерал, означающий произвольное количество любых символов
- _ (подчеркивание): литерал, соответствующий одному любому символу
- [] (в квадратных скобках один или несколько символов)
- [^] (в квадратных скобках значок исключения ^, за которым следует один или несколько символов)
- СПЕЦСИМВОЛ — команда для указания в запросе зарегистрированных выше символов
- Применимость в платформах
- Неверные параметры ПОДОБНО <<?>>
Предназначение
Проверить на соответствие строкового значения в запросе указанному шаблону — возвращает значение Булево-типа (ИСТИНА или ЛОЖЬ).
- Проверка регистро — независима.
- При запросе используются индексы таблиц — не связано с индексами полнотекстового поиска.
- Может долго выполнятся при больших таблицах.
- Строки неограниченной длины следует привести функцией ПОДСТРОКА
Места использования
- В условиях оператора ГДЕ
- В условиях конструкции ВЫБОР КОГДА <> ТОГДА «» ИНАЧЕ «» КОНЕЦ
- В полях выборки (например: Наименование ПОДОБНО &ПараметрПодобно как СтрокаПодходит)
Описание синтаксиса оператора ПОДОБНО
Параметр оператора должен быть строкой: может задаться константой, либо передан как параметр запроса.
Литералы(маски), указанные ниже, допускается использовать совместно и по отдельности.
Точное указание строки
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "1"//Равносильно Ключи.Наименование ="1"
Результат:
% — литерал, означающий произвольное количество любых символов
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "%"
Результат: любые 10 наименований
_ (подчеркивание): литерал, соответствующий одному любому символу
Пример №1:
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "_"
Пример №2: начинающиеся на любой символ, затем следует «1», а дальше любые символы
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "_1%"
Результат:
[] (в квадратных скобках один или несколько символов)
- Каждый литерал, соответствующий одному любому символу — используется как ИЛИ.
Допустимо указание диапазона, например a-z,0-5, означающее произвольный символ из заданного диапазона
Пример
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "[лз]%"
Результат: 10 начинающихся на «л» или «з»
Пример: начинающиеся на 5,6,7
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "[5-7]%"
Результат:
[^] (в квадратных скобках значок исключения ^, за которым следует один или несколько символов)
Равносильно любому символу (_) кроме указанных ([])
Пример
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "8.[^012]%"//не включаем 8.0,8.1,8.2
Результат: все начинающиеся на «8.» исключая указанные
СПЕЦСИМВОЛ — команда для указания в запросе зарегистрированных выше символов
В качестве служебного символа допустимо использовать как минимум: #,~,/,
Пример:
ВЫБРАТЬ первые 10
Ключи.Наименование
ИЗ
Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "#_" СПЕЦСИМВОЛ "#"
Результат:
Применимость в платформах
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4
Неверные параметры ПОДОБНО <<?>>
- Передается параметр не строкового типа: например число 1 вместо строки «1»
- Сравнивается поле не строкового типа с верной маской (например ссылка) или при соединении значение не проверяется на ЕстьNUL
Обратите внимание на текст ошибки, где выводится вопрос:
<<?>>Ключи.Ссылка ПОДОБНО "1"
или
Ключи.Наименование ПОДОБНО <<?>>&L
Рекламные объявления содержат единственные правдивые сведения, которые можно найти в газетах.