1с запрос синтаксическая ошибка итоги

Синтаксическая ошибка Итоги

Я
   vladimirpetrov11

16.08.12 — 08:43

Подскажите пожалуйста что не правильно в этом запросе:

ВЫБРАТЬ

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ПериодЗадолженности,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ВидРасчета,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.Поставщик,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаНачальныйОстаток,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаКонечныйОстаток,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаОборот,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаПриход,

   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаРасход

ИЗ

   РегистрНакопления.ркЗадолженностьЛицевыхСчетов.ОстаткиИОбороты(, {(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ))}, Авто, , ) КАК ркЗадолженностьЛицевыхСчетовОстаткиИОбороты

Упорядочить по

ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет

Итоги

Сумма(ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаКонечныйОстаток)

по ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет

Почему ругается на итоги???

   andrewks

1 — 16.08.12 — 08:51

группировка где?

   undertaker

2 — 16.08.12 — 08:51

а что за ошибка то?

   undertaker

3 — 16.08.12 — 08:52

(1) а группировка зачем?

   Wobland

4 — 16.08.12 — 08:52

патамушта упорядочить потом

   undertaker

5 — 16.08.12 — 08:53

(4) нет

   Лоботряс

6 — 16.08.12 — 08:53

УПОРЯДОЧИТЬ должно идти после ИТОГИ, не?

   undertaker

7 — 16.08.12 — 08:53

нет

   Лоботряс

8 — 16.08.12 — 08:54

да, нет, не проснулся еще

   andrewks

9 — 16.08.12 — 08:54

(3) а по чему он тебе итоги считать должен?

   undertaker

10 — 16.08.12 — 08:55

(9)

по ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет

   undertaker

11 — 16.08.12 — 08:55

группировка это группировка, итоги это итоги

   Wobland

12 — 16.08.12 — 08:55

(9) по ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет

   undertaker

13 — 16.08.12 — 08:57

(0) где текст ошибки то? может у него итоги отключены

   Лоботряс

14 — 16.08.12 — 08:59

Да рабочий запрос. Автор не тяни резину, мы тут извелись все уже…

   undertaker

15 — 16.08.12 — 09:01

да он походу забил

   pessok

16 — 16.08.12 — 09:03

видать ВНЕЗАПНО заработало

   andrewks

17 — 16.08.12 — 09:05

(10)(12) спасибо, кэпы =)  я, видимо, ещё не до конца проснулся

   vladimirpetrov11

18 — 16.08.12 — 09:31

я выходил, щас отвечу..

   vladimirpetrov11

19 — 16.08.12 — 09:35

Ошибка получения информации набора данных

по причине:

Ошибка в запросе набора данных

по причине:

{(13, 1)}: Синтаксическая ошибка

<<?>>Итоги

Вот такая ошибка выходит. Запрос в схеме компоновки данных. Из регистра накопления за период может выйти несколько сумм конечного остатка по каждому лицевому счету. И чтобы получить нужную сумму, её нужно сложить. Вот я думаю, что как-то по итогам можно это сделать

   Wobland

20 — 16.08.12 — 09:37

на хрена тебе итоги в СКД?

   vladimirpetrov11

21 — 16.08.12 — 09:38

Если вытащить Сумму конечного остатка в ресурсы как Сумма(СуммаКонечныйОстаток), то получается. Но мне интересно почему же в запросе через итоги не выходит

   Wobland

22 — 16.08.12 — 09:38

+(20) убери нафих из запроса итоги и упорядочить, всё это делай на вкладке настройки

   vladimirpetrov11

23 — 16.08.12 — 09:39

(22) так что ж итоги в запросе вообще нельзя вытянуть?

   Wobland

24 — 16.08.12 — 09:41

(23) в скд я даже не пробовал и знать неинтересно

   vladimirpetrov11

25 — 16.08.12 — 09:57

Ещё вопрос или даже просьба. Не в тему конечно, но… Вообщем мне задали задачку написать отчет по периодам задолженности, чтобы выявить тех людей,которые должны уже более 3-х месяцев. Отдельно по месяцам вытащить данные не сложно, но я не знаю как сделать так, чтобы один и тот же запрос выполнялся по разным периодам. Если кто сможет помочь буду очень рад. В 8-ке я слабоват, мягко сказать. Раньше писал только на 7-ке((((((

   Wobland

26 — 16.08.12 — 10:08

(25) честно прочитал дважды и медленно. всё, что после «выявить тех людей,которые должны уже более 3-х месяцев» не поддалось пониманию

   vladimirpetrov11

27 — 16.08.12 — 10:30

(26) Выявить «злостных» неплательщиков получается. Если человек не платил за услуги 3 месяца и более ему нужно посылать уведомления, затем если он все же не образумился-дело в суд. Вот такая цель этого отчета.

   Wobland

28 — 16.08.12 — 10:38

(27) нужно найти тех, разность даты последней оплаты и даты отчёта которых более 3х месяцев? по-моему, всё прозрачно

  

vladimirpetrov11

29 — 16.08.12 — 10:53

(28) В отчете нужно показать какую сумму человек должен был каждый месяц.

Gokusa

Заблокирован

1

«ИТОГИ» синтаксическая ошибка

24.12.2012, 14:45. Показов 8091. Ответов 27

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

пишу

1C
1
2
3
4
5
6
7
8
9
ВЫБРАТЬ
    ПродажиОбороты.Товар,
    ПродажиОбороты.Склад,
    ПродажиОбороты.КоличествоОборот 
ИЗ
    РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты,
 
    
    ИТОГИ Сумма(количествооборот) по товар

рурается на итоги — пишет «ожидается имя таблицы»
если написать упорядочить по бла бла бла, тогда не ругается, но пишет «синтаксическая ошибка » но уже перед сумма()
в чём ошибка?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

24.12.2012, 14:45

27

Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

24.12.2012, 14:49

2

ВЫБРАТЬ
ПродажиОбороты.Товар КАК Товар,
ПродажиОбороты.Склад,
ПродажиОбороты.КоличествоОборот КАК КоличествоОборот
ИЗ
РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты,

ИТОГИ Сумма(КоличествоОборот) по товар



0



Gokusa

Заблокирован

24.12.2012, 14:53

 [ТС]

3

так тоже не работает
к тому же он сам дописвает такие огрехи если чё

Добавлено через 2 минуты

1C
1
2
3
4
5
6
7
8
9
10
ВЫБРАТЬ
    ПродажиОбороты.Товар как т,
    ПродажиОбороты.Склад как с,
    ПродажиОбороты.КоличествоОборот КАК Ко
ИЗ
    РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты,
 
    итоги 
    сумма(ко)
     по т

ожидается имя таблицы перед «итоги»
запрос не вложенный, обычный единичный запрос.
виртуальных таблиц не создаю



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:18

4

конструктор Вам в помощь. Уж запятую-то убрать — святое дело, но параметры вирт таблицы…

Не по теме:

Gokusa, Вы хоть чему-нибудь когда-нибудь…? Сколько можно на грабли поверхностного отношения наступать? В преферансе игрока, бездумно шлёпающего картами, раздевают мгновенно



0



Gokusa

Заблокирован

24.12.2012, 15:21

 [ТС]

5

народ, а что если программно отключить итоги и потом включить?
и как это сделать ?
наверное должно помочь.

Добавлено через 1 минуту
а конструктор итоги не делает, я не могу найти в конструкторе.
проще пальцыми написать.
так в чём ошибка — то , какая таблица ему нужна?



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:25

6

Цитата
Сообщение от Gokusa
Посмотреть сообщение

проще пальцыми написать.

Видать не проще. Но если уж конструктор запроса у Вас итоги не делает…
Тогда слушайте внимательно: ИТОГИ здесь ни при чем. Запятая после алиаса причем.



0



Gokusa

Заблокирован

24.12.2012, 15:26

 [ТС]

7

а вот это вы неправы ))
если запятую уберу тогда будет «синтаксическая ошибка»:_))) на строке выше.
вот такие пироги.
з.ы.чукча не дурак но в покер играть не умеет.



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:30

8

Тогда ждите. Придётся предоставлять Вам текст. В течение 10-15 мин (чукча занят, однако)

Добавлено через 38 секунд
Я ж намекнул на параметры вирт.т



0



Gokusa

Заблокирован

24.12.2012, 15:34

 [ТС]

9

ну с запятой-это я тупанул,
просто и без запятой пишет ошибку перед сумма(бла бла) в «итоги»
я думал мож в 1с какой-нить неподвластный логике синтаксис запросов.

Добавлено через 28 секунд
как сумма представить ?

Добавлено через 1 минуту
тока в том то и дело что как сумму параметр вирт табл.я представлять не хочу.



0



duk337

2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:38

10

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|   ПродажиОбороты.Номенклатура КАК Номенклатура,
|   ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
|   ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
|ИЗ
|   РегистрНакопления.Продажи.Обороты(&Дат1, &Дат1, , Контрагент = &Контрагент) КАК ПродажиОбороты
|ИТОГИ
|   СУММА(КоличествоОборот),
|   СУММА(СтоимостьОборот)
|ПО
|   Номенклатура";
 
Запрос.УстановитьПараметр("", );
 
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
 
Пока Выборка.Следующий() Цикл
 
    
 
КонецЦикла;

Добавлено через 1 минуту
Рекомендуемая последовательность действий: правая кнопка в тексте модуля, шаблоны текста/шаблоны текста, прочие, запрос с параметром тянуть мышой в текст



0



Gokusa

Заблокирован

24.12.2012, 15:41

 [ТС]

11

это всё понятно.
мне непонятно почему мой запрос не работает,
только потому что таблица периодическая????



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:43

12

Цитата
Сообщение от Gokusa
Посмотреть сообщение

проще пальцыми написать.

В этом дело. В пальцах. Башку включи, гордыню умерь, и золотой ключик будет твой… после 3642-го ведра



0



Gokusa

Заблокирован

24.12.2012, 15:48

 [ТС]

13

спасибо за то что написали мне прикладное решение, толкьо прикладное мне не нужно.
мне нужно почему в моём запросе

1C
1
2
3
4
5
6
7
8
9
ВЫБРАТЬ
    ПродажиОбороты.Товар как товар,
    ПродажиОбороты.Склад,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
ИЗ
    РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
 
итоги
    по товар

чё ему надо.
а получить суммарное количество за период можно и вложеным запросом и наверняка ещё кучей способов- не в этом суть.
суть в том «херли ему надо перед «итоги «» ))) вот

Добавлено через 1 минуту
все равно не понимаю

1C
1
2
3
4
5
6
  РегистрНакопления.Продажи.Обороты(&Дат1, &Дат1, , Контрагент = &Контрагент) КАК ПродажиОбороты
|ИТОГИ
|   СУММА(КоличествоОборот),
|   СУММА(СтоимостьОборот)
|ПО
|   Номенклатура";

то же самое что у меня, почему тогда у меня ругается?

Добавлено через 2 минуты
допустим будет у меня другой регистр и не будет в нём периодов, и я хочу точно знать и быть увереным что поставлю итоги …. по …. и получу то что нужно.
когда нибудь может такой день и никогда и не настанет, так как я с 1с не работаю.
но я не понимаю чё ему надо перед «итоги» и я уже не уверен, у меня закрались сомнения в данном методе



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:49

14

Цитата
Сообщение от Gokusa
Посмотреть сообщение

то же самое что у меня

Не… это не чукча. Ты попу от пальца отличаешь вообще?



0



Gokusa

Заблокирован

24.12.2012, 15:54

 [ТС]

15

ААААА я кажется понял в чем фишка- я это делал в отчёте если чё.
в отчете не работает.
не в отчете мой вариант тоже работает.
ответ на загадку был «писать запрос не в отчете»
)))

Добавлено через 1 минуту
отличаю, ну и че загнал три параметра в условие, и че ???
да хоть 333.это сути не меняет.
синтаксическая ошибка никуда не делась.я вот ставлю твой запрос и мне пишет бла бла бла пере сумма ()

Добавлено через 1 минуту
хошь я те принтскрин пришлю где твой запрос не работает )))
также как и мой, и ругается на ту же херню что и у меня?



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:58

16

у тебя это функция ГРУППИРОВКИ
В отчете — СКД? Там вообще ничего не надо. В настройках всё.
Если обычное, тогда отключай построитель



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

24.12.2012, 15:58

17

const X=0, Y=5;

X=Y : X=5;

Я тоже самое пишу… Почему X=0 ????

Y=X : X=0;



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 15:58

18

Но параметры врт.таблицы нужны



0



Dethmontt

24.12.2012, 16:00

Не по теме:

duk337, ну у тебя терпения вагон!!!



0



duk337

2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

24.12.2012, 16:01

20

Dethmontt, точно . Ещё подсказать, как исправить:

1C
1
Х<>0;



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

24.12.2012, 16:01

20

Подскажите пожалуйста что не правильно в этом запросе:    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ПериодЗадолженности,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ВидРасчета,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.Поставщик,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаНачальныйОстаток,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаКонечныйОстаток,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаОборот,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаПриход,    ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаРасход Итоги Сумма(ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.СуммаКонечныйОстаток) по ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет Почему ругается на итоги???

патамушта упорядочить потом

УПОРЯДОЧИТЬ должно идти после ИТОГИ, не?

да, нет, не проснулся еще

а по чему он тебе итоги считать должен?

по ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет

группировка это группировка, итоги это итоги

по ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет

где текст ошибки то? может у него итоги отключены

Да рабочий запрос. Автор не тяни резину, мы тут извелись все уже…

видать ВНЕЗАПНО заработало

спасибо, кэпы =)  я, видимо, ещё не до конца проснулся

Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(13, 1)}: Синтаксическая ошибка <<?>>Итоги Вот такая ошибка выходит. Запрос в схеме компоновки данных. Из регистра накопления за период может выйти несколько сумм конечного остатка по каждому лицевому счету. И чтобы получить нужную сумму, её нужно сложить. Вот я думаю, что как-то по итогам можно это сделать

на хрена тебе итоги в СКД?

Если вытащить Сумму конечного остатка в ресурсы как Сумма(СуммаКонечныйОстаток), то получается. Но мне интересно почему же в запросе через итоги не выходит

+ убери нафих из запроса итоги и упорядочить, всё это делай на вкладке настройки

так что ж итоги в запросе вообще нельзя вытянуть?

в скд я даже не пробовал и знать неинтересно

Ещё вопрос или даже просьба. Не в тему конечно, но… Вообщем мне задали задачку написать отчет по периодам задолженности, чтобы выявить тех людей,которые должны уже более 3-х месяцев. Отдельно по месяцам вытащить данные не сложно, но я не знаю как сделать так, чтобы один и тот же запрос выполнялся по разным периодам. Если кто сможет помочь буду очень рад. В 8-ке я слабоват, мягко сказать. Раньше писал только на 7-ке((((((

честно прочитал дважды и медленно. всё, что после «выявить тех людей,которые должны уже более 3-х месяцев» не поддалось пониманию

Выявить «злостных» неплательщиков получается. Если человек не платил за услуги 3 месяца и более ему нужно посылать уведомления, затем если он все же не образумился-дело в суд. Вот такая цель этого отчета.

нужно найти тех, разность даты последней оплаты и даты отчёта которых более 3х месяцев? по-моему, всё прозрачно

В отчете нужно показать какую сумму человек должен был каждый месяц.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Изменили запрос, но все равно выводит ошибку уже при отладке:

{Документ.СчетНаОплатуПокупателюНовый.МодульОбъекта(116)}: Ошибка при вызове метода контекста (Выполнить)
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:
Разное количество полей в объединяемых запросах

Функция ПечатьСчетаЗаказа(Тип)
Перем ПодразделениеОтветственныхЛиц;

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

Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);

ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("ЗаказПокупателя");

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

ЗапросТовары = Запрос.Выполнить().Выгрузить();

Макет = ПолучитьМакет("СчетЗаказ");

// Выводим шапку накладной

СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
Если Тип = "Счет" Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
Если ТипЗнч(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
БИК = Банк.Код;
КоррСчет = Банк.КоррСчет;
ГородБанка = Банк.Город;
НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);

ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
ОбластьМакета.Параметры.БанкПолучателя = Банк;
ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет;
ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета;
ОбластьМакета.Параметры.СчетПолучателя = НомерСчета;
КонецЕсли;

Если ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
+ " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
КонецЕсли;
Иначе
ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
КонецЕсли;
ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;

ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Счет на оплату");

ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.Заполнить(Шапка);
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(
СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ОбластьМакета.Параметры.Заполнить(Шапка);
СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата);
ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(
СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
ТабДокумент.Вывести(ОбластьМакета);

ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
ВыводитьКоды = Истина;
Колонка = "Артикул";
ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
ВыводитьКоды = Истина;
Колонка = "Код";
Иначе
ВыводитьКоды = Ложь;
КонецЕсли;

ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");

ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
ТабДокумент.Присоединить(ОбластьСуммы);

ОбластьКолонкаТовар = Макет.Область("Товар");

Если Не ВыводитьКоды Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
Макет.Область("КолонкаКодов").ШиринаКолонки;
КонецЕсли;

ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");

Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
ВсегоБезСкидок = 0;

Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл

ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
ТабДокумент.Вывести(ОбластьНомера);

Если ВыводитьКоды Тогда
Если Колонка = "Артикул" Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
Иначе
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
КонецЕсли;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;

ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар);
ТабДокумент.Присоединить(ОбластьДанных);

ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары);
ТабДокумент.Присоединить(ОбластьСуммы);
Сумма = Сумма + ВыборкаСтрокТовары.Сумма;
СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС;

КонецЦикла;

// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма");

ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
ТабДокумент.Присоединить(ОбластьСуммы);

// Вывести ИтогоНДС
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные");
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");

ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
Если СуммаНДС <> 0 Тогда
ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:");
ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
Иначе
ОбластьДанных.Параметры.НДС = "Без налога (НДС)";
ОбластьСуммы.Параметры.ВсегоНДС = "-";
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);

ТабДокумент.Присоединить(ОбластьСуммы);

// Вывести ИтогоКОплате
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные");
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
СуммаКОплате = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
ОбластьСуммы.Параметры.ИтогоКОплате = ОбщегоНазначения.ФорматСумм(СуммаКОплате);
ТабДокумент.Присоединить(ОбластьСуммы);

// Вывести Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество()
+ ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента);
ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента);
ТабДокумент.Вывести(ОбластьМакета);

// Вывести подписи
Если Тип = "Счет" Тогда

Если Шапка.Получатель.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");

Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Руководители, Шапка.Дата, ПодразделениеОтветственныхЛиц);
Руководитель = Руководители.РуководительПредставление;
Бухгалтер = Руководители.ГлавныйБухгалтерПредставление;

ОбластьМакета.Параметры.ФИОРуководителя = Руководитель;
ОбластьМакета.Параметры.ФИОБухгалтера = Бухгалтер;

Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель");

ФЛ = Шапка.Получатель.ИндивидуальныйПредприниматель;
ДанныеФЛ = РегистрыСведений.ФИОФизЛиц.СрезПоследних(Дата, Новый Структура("ФизЛицо",ФЛ));
Если ДанныеФЛ.Количество() > 0 Тогда
Предприниматель = СокрЛП(ДанныеФЛ[0].Фамилия) + " " + Лев(СокрЛП(ДанныеФЛ[0].Имя),1) + ". " + Лев(СокрЛП(ДанныеФЛ[0].Отчество),1) + ".";
Иначе
Предприниматель = "";
КонецЕсли;

ОбластьМакета.Параметры.ФИОПредпринимателя = Предприниматель;

КонецЕсли;

Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалЗаказа");
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);

Возврат ТабДокумент;

КонецФункции // ПечатьСчетаЗаказа()

Синтаксическая ошибка ИЗ

Синтаксическая ошибка <?>ИЗ возникает в случае, когда ожидается что-то другое отличное от «ИЗ»: в данном примере имя временной таблицы

sintaksicheskaya-oshibka-iz

Ошибка возникает даже при работе в конструкторе запроса: если вы укажите «Создание временной таблицы» на вкладке «Дополнительно», но не укажите имя временной таблицы.

В момент закрытия очень трудно сообразить, к чему она относится, но, видя текст запроса, все встает на свои места.

Исправление ошибки

  • Удалить ключевое слово «ПОМЕСТИТЬ».
  • Либо добавить имя таблицы через пробел после него, но тогда потребуется добавить код, получающий данные из временной таблицы, либо задать у запроса свойство МенеджерВременныхТаблиц, чтобы при выполнении не возникала ошибка.

Ошибка редко встречающаяся, случайная, но тем не менее раз она возникает следует ее зафиксировать.

Половина денег, которые идут на рекламу, выбрасываются впустую; но как узнать, какая именно половина?

  • 1с документооборот при фоновой маршрутизации процесса произошла ошибка
  • 1с документооборот ошибка создания com объекта cognitive puma
  • 1с документооборот ошибка совместного доступа к файлу
  • 1с документооборот ошибка при вызове метода контекста записать
  • 1с документооборот ошибка для настройки действий комплексного процесса не предусмотрено вариантов