Имя: Пароль:
1C
1С v8
Ошибка при переходе к конструктору запроса
,
0 pv94384
 
25.07.11
15:06
Существует рабочий запрос... Жму правой кнопкой по нему в попытке перейти в конструктор запроса, на что мне выдается: "Ожидается выражение ")""? В чем ошибка? проверяю запрос - он рабочий!
1 Guk
 
25.07.11
15:08
обычно такое бывает, когда в запрос вставляют какой-нибудь динамический кусок...
2 pv94384
 
25.07.11
15:10
Такой отсутствует...
3 Maxus43
 
25.07.11
15:11
а ты в отладчике текст запроса отлови да в консоль вставь, будет работать
4 Ненавижу 1С
 
гуру
25.07.11
15:11
(0) показывай
5 Maxus43
 
25.07.11
15:11
(2) не верю.
Не обязательно будет типа " + КусокЗапроса + ", может потом СтрЗаменить идёт или ещё что
6 73
 
25.07.11
15:16
(4) Нууу... Так неинтересно. Ты не глядя угадай.
7 poligraf
 
25.07.11
15:16
(0) или еще может быть: случайно кусок текста выделяешь, пока ПКМ жмешь и конструктору отдается выделенный фрагмент
8 pv94384
 
25.07.11
15:16
ВЫБРАТЬ
                  |    СкоростьПродаж.Период,
                  |    СкоростьПродаж.Номенклатура КАК Номенклатура,
                  |    ЕСТЬNULL(СкоростьПродаж.КоличествоНачальныйОстаток, 0) КАК КоличествоНачальныйОстаток,
                  |    ЕСТЬNULL(СкоростьПродаж.КоличествоКонечныйОстаток, 0) КАК КоличествоКонечныйОстаток,
                  |    ЕСТЬNULL(СкоростьПродаж.КоличествоОборот, 0) КАК КоличествоОборот,
                  |    ЕСТЬNULL(СкоростьПродаж.КоличествоПриход, 0) КАК КоличествоПриход,
                  |    ЕСТЬNULL(СкоростьПродаж.КоличествоРасход, 0) КАК КоличествоРасход,
                  |    ЕСТЬNULL(ЦеныПоставщиков.Цена, 0) КАК ЗакупочнаяЦена,
                  |    ЦеныПоставщиков.Контрагент,
                  |    СкоростьПродаж.Номенклатура.МинимальныйОстаток КАК МинимальныйОстаток,
                  |    СкоростьПродаж.Номенклатура.Вложение КАК Вложение
                  |ИЗ
                  |    (ВЫБРАТЬ
                  |        ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
                  |        НАЧАЛОПЕРИОДА(ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ) КАК Период,
                  |        СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
                  |        СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
                  |        СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот,
                  |        СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
                  |        СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход
                  |    ИЗ
                  |        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, ДЕНЬ, , "") КАК ТоварыНаСкладахОстаткиИОбороты
                  |    
                  |    СГРУППИРОВАТЬ ПО
                  |        НАЧАЛОПЕРИОДА(ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ),
                  |        ТоварыНаСкладахОстаткиИОбороты.Номенклатура) КАК СкоростьПродаж
                  |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                  |            Поставщики.Контрагент КАК Контрагент,
                  |            СУММА(Поставщики.Цена) КАК Цена,
                  |            Поставщики.Владелец КАК Владелец
                  |        ИЗ
                  |            Справочник.Поставщики КАК Поставщики
                  |        
                  |        СГРУППИРОВАТЬ ПО
                  |            Поставщики.Контрагент,
                  |            Поставщики.Владелец) КАК ЦеныПоставщиков
                  |        ПО СкоростьПродаж.Номенклатура = ЦеныПоставщиков.Владелец
                  |            И СкоростьПродаж.Номенклатура.ОсновнойПоставщик = ЦеныПоставщиков.Контрагент
                  |ГДЕ
                  |    СкоростьПродаж.Номенклатура.Блокирован = ЛОЖЬ
                  |ИТОГИ
                  |    СУММА(КоличествоНачальныйОстаток),
                  |    СУММА(КоличествоКонечныйОстаток),
                  |    СУММА(КоличествоОборот),
                  |    СУММА(КоличествоПриход),
                  |    СУММА(КоличествоРасход),
                  |    МАКСИМУМ(ЗакупочнаяЦена),
                  |    МАКСИМУМ(МинимальныйОстаток),
                  |    МАКСИМУМ(Вложение)
                  |ПО
                  |    Номенклатура"
9 73
 
25.07.11
15:17
Это что:
                  |        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, ДЕНЬ, , "") КАК
10 73
 
25.07.11
15:18
(9)+ что за кавычки?
11 Ненавижу 1С
 
гуру
25.07.11
15:19
+(9) запрос нерабочий
12 Ненавижу 1С
 
гуру
25.07.11
15:19
+(11) точнее это строка вообще, тут синтакс ошибка должна быть
13 73
 
25.07.11
15:20
(11) Рабочий. Из 2х строк состоит. А конструктор только одну берёт.
14 73
 
25.07.11
15:23
(12) Не будет ошибки.
15 pv94384
 
25.07.11
15:25
То, что запрос рабочий - это 100%, но вопрос в другом...
16 Ненавижу 1С
 
гуру
25.07.11
15:27
(13) а точно, точнее строка одна, но кавычки не парные
17 Ненавижу 1С
 
гуру
25.07.11
15:27
(15) в чем же вопрос?
18 Никола_
Питерский
 
25.07.11
15:28
ответ в (7)
19 73
 
25.07.11
15:30
(15) Убери кавычки из строчки (9).

ответ в (13).
20 pv94384
 
25.07.11
15:32
(19) Спасибо, заработало! А почему кавычки мешали?
21 73
 
25.07.11
15:32
(16) Строка одна. Многострочная. Состоит из 2-х многострочных строк. Приписана вторая к первой. Это допускается синтаксисом.
22 Ненавижу 1С
 
гуру
25.07.11
15:36
(21) так там вроде кавычки на одной строке расположены, не?
23 73
 
25.07.11
15:37
(22) Да. И это допустимо. Справка 1С:


Строка (String)
Описание:
Значения данного типа содержат строку в формате Unicode произвольной длины.
Литералы:
Литералы строкового типа представляют собой набор символов заключенных в кавычки. Для задания в строке символа " (кавычка) необходимо записать две кавычки подряд. Кроме того, допускаются "многострочные" строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:




Между фрагментами, представляющими отдельные строки многострочной строки, не должно встречаться никаких символов, за исключением пробелов, переводов строки и строк комментариев.

Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки | (вертикальная черта). В этом варианте комментарии допускаются, если строка начинается с символа комментария //.
24 Ненавижу 1С
 
гуру
25.07.11
15:38
(23) не... здесь именно случай "Для задания в строке символа " (кавычка) необходимо записать две кавычки подряд"
а не конкатенация многострочных строк с помощью кавычек
25 73
 
25.07.11
15:38
(23)+ Смотри 1й способ задания многострочной строки.

Например:
Многострочная = "фывапролджэ""ячсмитьбю";
26 Ненавижу 1С
 
гуру
25.07.11
15:39
(25) в результате будет

фывапролджэ"ячсмитьбю

то есть смотри (24)
27 73
 
25.07.11
15:45
(26) Да. Ты прав. Остаётся предположить, что конструктору башню сносит из-за кавычки вместо условия.
28 Ненавижу 1С
 
гуру
25.07.11
15:46
(27) меня другое интересует: куда пропал автор, почему запрос рабочий и в чем же дело, если не в этом?
29 pv94384
 
25.07.11
15:48
(28) автор здесь... В (20) сообщении ответил...
30 73
 
25.07.11
15:49
(29) А может перед выполнением СтрЗаменить всё же есть?
Которое кавычку на нужное условие меняет?
31 Ненавижу 1С
 
гуру
25.07.11
15:50
(29) а какой в них смысл?
32 hhhh
 
25.07.11
15:51
(29) должно быть """"  
   Приколист ты, ей богу.
33 pv94384
 
25.07.11
15:52
(31) Дорабатываю существующий... Данный запрос, в том числе и кавычки - не мое творение )
34 Ненавижу 1С
 
гуру
25.07.11
15:52
(33) мопед не твой?
35 pv94384
 
25.07.11
15:53
(34) типо того )
36 pv94384
 
25.07.11
15:53
Всем спасибо за обсуждение! Тема закрыта!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn