Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 01:42
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Помогите подкорректировать запрос  (Прочитано 2257 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SanSay

  • *
  • Сообщений: 39
  • РЕПУТАЦИЯ: 2
  • КПД: 5%
  • Регистрация: 2013-11-24
  • Сайт: 
  • Профессия: Ученик 1С
Есть рабочий запрос для помещения Таблицы значений в менеджервременных таблиц
Запрос.Текст = "	
|ВЫБРАТЬ
| *
|ПОМЕСТИТЬ
| ВременнаяТаблица2
|ИЗ
| &ТабЗнач2 ТЗПрайс;
|ВЫБРАТЬ
| *
|ИЗ
| ВременнаяТаблица2";
Запрос.УстановитьПараметр("ТабЗнач2",ТЗПрайс);
Запрос.Выполнить();
в Таблице Значений "ТЗПрайс" есть колонка "Серия", где указывается серийный номер.
нужно подкорректировать запрос так, чтобы во "ВременнаяТаблица2" попадали только те строки, где "Серия" отсутствует.
Как понимаю нужно дописать типо такого:
Запрос.Текст = "	
|ВЫБРАТЬ
| *
|ПОМЕСТИТЬ
| ВременнаяТаблица2
|ИЗ
| &ТабЗнач2 ТЗПрайс;
|ВЫБРАТЬ
| *
|ИЗ
| ВременнаяТаблица2
|ГДЕ
| ВременнаяТаблица2.Серия = ***";
Запрос.УстановитьПараметр("ТабЗнач2",ТЗПрайс);
Запрос.Выполнить();
где *** как раз и не знаю как описать пустую ячейку... использование  "" не прокатывает, ругается:
{Обработка.АЦК.Форма.Поиск(133)}: Ошибка при вызове метода контекста (Выполнить): {(13, 55)}: Строка, не закрывающаяся кавычкой
ВЫРАЗИТЬ(ВременнаяТаблица2.Серия КАК Строка(1000)) = <<?>>"
Результат = Запрос.Выполнить().Выбрать();


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
напишите так:
ГДЕ 
    ЕСТЬNULL(ВременнаяТаблица2.Серия, <ПустоеЗначениеТипаСерия>) = <ПустоеЗначениеТипаСерия>
Вместо <ПустоеЗначениеТипаСерия> напишите пустое значение того типа, которым является ВременнаяТаблица2.Серия.
Например, если ВременнаяТаблица2.Серия имеет тип СправочникСсылка.Серии, тогда вместо <ПустоеЗначениеТипаСерия> нужно написать: ЗНАЧЕНИЕ(Справочник.Серии.Пустаяссылка)
Добавлено: 19 Дек 2013, 11:23

P.S. ошибка может означать то, что вы редактировали запрос не конструктором, а непосредственно в коде и забыли продублировать кавычки - напомню, внутри строки (то есть во внешних кавычках) символ "кавычка" обозначается двойными кавычками.
То есть, чтобы написать условие Серия = "" внутри текста запроса, писать надо вот так: Серия = """" - каждая кавычка заменена на двойную.
надеюсь, понятно изъяснился...
     

Оффлайн SanSay

  • *
  • Сообщений: 39
  • РЕПУТАЦИЯ: 2
  • КПД: 5%
  • Регистрация: 2013-11-24
  • Сайт: 
  • Профессия: Ученик 1С
P.S. ошибка может означать то, что вы редактировали запрос не конструктором, а непосредственно в коде и забыли продублировать кавычки - напомню, внутри строки (то есть во внешних кавычках) символ "кавычка" обозначается двойными кавычками.То есть, чтобы написать условие Серия = "" внутри текста запроса, писать надо вот так: Серия = """" - каждая кавычка заменена на двойную.надеюсь, понятно изъяснился...

блин точно... знал же, чет стормозил )
Добавлено: 19 Дек 2013, 12:56

так, чет я не понял:
если после запроса
Запрос.Текст = "	
|ВЫБРАТЬ
| *
|ПОМЕСТИТЬ
| ВременнаяТаблица2
|ИЗ
| &ТабЗнач2 ТЗПрайс;
|ВЫБРАТЬ
| *
|ИЗ
| ВременнаяТаблица2
|ГДЕ
| ВЫРАЗИТЬ(ВременнаяТаблица2.Серия КАК Строка(1000)) = """"";
Запрос.УстановитьПараметр("ТабЗнач2",ТЗПрайс);
Запрос.Выполнить();
проверить данные в "ВременнаяТаблица2", то показывает данные соответствующие условию "ВременнаяТаблица2.Серия = """
но когда использую "ВременнаяТаблица2" ниже по коду, там почемуто полные данные, т.е. даже те где "ВременнаяТаблица2.Серия не равно """
как так?
Добавлено: 19 Дек 2013, 14:41

P.S. ошибка может означать то, что вы редактировали запрос не конструктором, а непосредственно в коде и забыли продублировать кавычки - напомню, внутри строки (то есть во внешних кавычках) символ "кавычка" обозначается двойными кавычками.То есть, чтобы написать условие Серия = "" внутри текста запроса, писать надо вот так: Серия = """" - каждая кавычка заменена на двойную.надеюсь, понятно изъяснился...

блин точно... знал же, чет стормозил )
Добавлено: 19 Дек 2013, 12:56

так, чет я не понял:
если после запроса
Запрос.Текст = "	
|ВЫБРАТЬ
| *
|ПОМЕСТИТЬ
| ВременнаяТаблица2
|ИЗ
| &ТабЗнач2 ТЗПрайс;
|ВЫБРАТЬ
| *
|ИЗ
| ВременнаяТаблица2
|ГДЕ
| ВЫРАЗИТЬ(ВременнаяТаблица2.Серия КАК Строка(1000)) = """"";
Запрос.УстановитьПараметр("ТабЗнач2",ТЗПрайс);
Запрос.Выполнить();
проверить данные в "ВременнаяТаблица2", то показывает данные соответствующие условию "ВременнаяТаблица2.Серия = """
но когда использую "ВременнаяТаблица2" ниже по коду, там почемуто полные данные, т.е. даже те где "ВременнаяТаблица2.Серия не равно """
как так?
в общем пришлось создать еще одну временную таблицу.

Последний раз редактировалось: SanSay; 19 Дек 2013, 14:41. Причина: Объединение сообщений


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4300
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5556
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5895
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

Автор Dm109Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4381
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

Автор Vasya PovarРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1982
Последний ответ 07 Дек 2016, 15:53
от Kironten

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
142 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 142
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal