#0
by Dancer
|Условие (Код = "+КодОтбора+");"(использовать прямое представление строки, а не переменную, вынужден потому что запрос выполняется в базе, подключенной по OLE)Примечание: запрос на самом деле посложнее, не хочу загружать сообщение полным текстом.Выполняю запрос при наличии кавычек в строковой переменной НаимОтбора - вываливается ошибка "неизвестная ошибка". Ошибка точно из-за кавычек: если заменяю предваритель кавычки на " " - все проходит.Как обойти?
#3
by Dancer
Цель: отобрать по наименованию равному:Аскорбиновая к-та с сах. "Витаминка с сахаром" №10Значение НаимОтбора, вставляемого в вышенаписанный запрос:"Аскорбиновая к-та с сах. ""Витаминка с сахаром"" №10"Это уже собственно содержание строки, кавычки - строковые, это не обозначение границ строки;То есть, результирующая строка запроса выглядит так:|Условие (Наим = "Аскорбиновая к-та с сах. ""Витаминка с сахаром"" №10");КодОтбора:"017464"Примечание: пять запросов перед этим (где НаимОтбора отсутствуют кавычки внутри) - выполняются гладко и так как надо.То есть делаю вывод, что строки вида - катят.
#6
by Берсеркер
Тут явно методологическая ошибка. почему в запросе идет поиск по наименованию? Юзверь типа вводит наименование с клавиатуры, а не выбирает из списка?
#8
by zzz
афтар, не делай больше так!!!Условие (СокрЛП(Наименование) = """+НаимОтбора+""");но это же изврат!!
#9
by Dancer
не понял была бы совершенно точно методологическая ошибка. если бы все дело было в одной и той же БД. Действия выполняются по OLE-соединению, поэтому юзверь не может выбрать из списка. Кроме того, юзверь тут ваще ни при чем - все происходит в автоматическом режиме, просто ищу в OLE-БД номенклатуру, совпадающую по трем признакам с элементом в текущей БД. Просто по наименованию - не прокатит, элементов с одинаковым наимнованием дофига, подойдет только отбор сразу по трем признакам. не очень красиво, ибо нужно ТОЧНОЕ совпадение, а не включение. Хотя подумаю - условие на длину строки ведь тоже можно поставить... А как ты предлагаешь еще делать, если я не могу ПЕРЕМЕННУЮ напрямую передать через OLE? Или я не так тебя понял?
#10
by Dancer
И какая разница, куда я кавычку, ограничивающую строку, вставлю - в текст запроса или в значение переменной?..
#12
by Dancer
Да епрст.повторяю для тех, кто в танке: ВыбрЭлемент - НЕТ ТАКОЙ ПЕРЕМЕННОЙ в OLE-подключенной базе. Если этот элемент выбран в текущей БД - в OLE-БД он НЕДОСТУПЕН.
#14
by Dancer
Проблемы """НаимОтбора""" - не решаетэто у меня стояло с самого началався проблема в том, что например вот у меня номенклатура имеет наименование:Аскорбиновая к-та с сах. "Витаминка с сахаром" №10то есть, содержит кавычки в строке наименованиеКАК сделать так, чтобы запрос воспринимал эти кавычки?Если втупую делать так, как ты написал - не прокатываетесли заменять кавычку на двойную (типа чтобы интерпретатор воспринял это как одинарную кавычку, а не окончание строки) - тоже не прокатываетВОТ в чем весь вопрос-тоЕсли кавычек в наименовании номенклатуры нет - все и так хорошо, все работает так, как ты написал, и мой вариант был изначально именно такой...
#15
by zzz
2(12,14) В ОЛЕ базе элемент ищется по наименованию/коду и уже потом передаётся ссылка на него! А не суётся строка в запрос, как ты НЕРАВИЛЬНО делаешь!Читай: http://www.sinor.ru/~my1c/knowhow/v7&OLE.html
#16
by Dancer
Ага. У меня в OLE - 10 элементов с одним наименованием (код значения не имеет, по ним синхронизации нет). Я найду первый из них. По условию отбора я сразу получу его же. Мне это не надо. Мне нужно среди всех, что имеют такое наименование - отобрать тот, который еще имеет нужную серию и производителя. А не первого.А просто тупо перебором выбирать и проверять - это решение, но я хотел именно запросом. Ибо бывает, что 10 элементов с нужным наименованием, а бывает - 100. И среди них - пятьдесят с нужным производителем, и из этих только один - с нужной серией...
#19
by Dancer
сообщает:< Условие (СокрЛП(Наименование) = "Аскорбиновая к-та с сах. ""Витаминка с сахаром"" №10"); >
#23
by Dancer
вот и я о том.Впрчоем, всем спасибо - справился. Правда, с извратами :(21, 22)код символа кавычки я найду, не вопрос. Тока щас уже так натрахался с этой лабудой, что пока работает - смотреть не хочу, не то чтобы оптимизировать. :((((
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- как вставить в текстовую строчку кавычки "
- Проверка на кавычки
- Функция в запросе работает под DBF, но не работает под SQL
- Не работает функия вопрос() в 8-ке/в SQL не работает в файл серверной работает
- Условие в запросе, аналогичное условию в запросе 77
- Интересная фишка в запросе в 7-ке. Сумма из шапки и из ТЧ в запросе
- Формат даты: получить обычные кавычки
- Кавычки в строке 1С 8???
- Как в 1с запросе отобрать убрать кавычки внутри поля?
- "Несовместимые типы выразить в запросе 1с" ошибка в динамическом запросе списка документов
В этой группе 1С
- ЗИК. Откуда ставятся КПК и ОКАТО в 2НДФЛ?
- Печать справок 2-НДФЛ из .xml-файла
- По кнопке выгрузить отчет в Ексель и засунуть в OutLook
- Проверка 2-НДФЛ
- Фискальник Штрих-М, Номер чека
- почему не работает ComConnector ?
- Выборочное удаление движений из регистра накопления
- Сохранение файла, открытого в хранилище значения
- Как выгрузить отчет?
- Как в терминале настроить COM-порт?
- Работа с принтером ШК Citizen CLP-521 в 1С
- Два ФР на одно рабочее место кассира.
- Учет основных узлов и агрегатов автомобилей
- Ведомость по контрагентам (ТиС 9.2) 940
- v7: Как оформить возврат поставщику МПЗ
- Нужна помощь: расходы будущих периодов выгрузка проводок из ЗиК в Бух.
- при выгрузке документов пропадает документ, выгруженный ранее.
- Как настроить принтер шрихкодов BZB-2.
- Выгрузка из 1С ("Камин" 2.0 ) в 2-НДФЛ
- УТ Заполнить шапку на основании документа