1с скд ошибка при вызове метода контекста инициализировать

Обновлено: 27.01.2023

Доброго всем дня.
В СКД в запросе использую параметр ТекДата, на вкладке Параметры в поле Выражение пишу ТекущаяДата(). Отчёт даже не открывается, пишет «значение не является значением объектного типа (ДоступныеЗначения)». Что это? 1С сломала выражения для параметров СКД на управляемых формах?

Всем спасибо, выяснилось, что я когда копировал отчёт, не посмотрел что там в форме ПриОткрытии написано обращение к одному из параметров, которых в новом отчёте нет. Блин, плохо когда ошибка такая неинформативная, непонятно, на какое поле ругается.

какая версия платформы ?
у меня на 8.3.14.1694 работает

«значение не является значением объектного типа ( ДоступныеЗначения )»

(4) Я умею читать. Только в этом поле ничего нет. Поэтому и спрашиваю.

(6) Ну, так ругается на «Доступные значения», поле которых есть не только на вкладке «Параметры», но и на первой вкладке, «Наборы данных», если параметр используется как поле.
Из-за того, что не было предоставлено ни скринов, ни самого отчета, непонятно, что в отчете заполнено правильно, а что нет.
Еще возможно, сломались настройки сохраненного варианта, можно попробовать сбросить на по умолчанию.
Как заметили в (2) указанное выражение работает, в том числе и на 8.3.16.1296 (проверено мной).
Для самостоятельной проверки повторения проблемы достаточно создать пустой отчет с единственным параметром, и проверить его (отчета) открытием.

(3) Я вроде русским языком написал — «пишу в поле Выражение»

ТекущаяДатаСеанса() не подойдёт?
И еще момент — может ДоступныеЗначения поломались? Список с пустыми или битыми значениями, например.

Всем спасибо, выяснилось, что я когда копировал отчёт, не посмотрел что там в форме ПриОткрытии написано обращение к одному из параметров, которых в новом отчёте нет. Блин, плохо когда ошибка такая неинформативная, непонятно, на какое поле ругается.

(9) Если ошибка возникала в обработчике события ПриОткрытии(), то все там должно быть информативно. Нужно было всего лишь, нажать кнопку «Подробно» и скопировать весь текст от туда сюда в тему при составлении своего вопроса. Там должен был быть и кусок кода, и название модуля, и номер стоки в нем.
А так это ваш вопрос абсолютно не информативен: ни полного текста ошибки, ни скринов, ни отчета.

Преподаватель 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Временный (на проект)

На ИТС нашёл упоминание, что ТекущаяДата() работает в СКД (в справке про это ни слова), про другие методы описанные в статье ничего не нашёл.

Как собиралась информация: открыл в СП раздел «Глобальный контекст» и все методы проверял в СКД. Функции, которые помнил, что есть в СКД пропускал как заведомо рабочие. Также пропускал методы заведомо не рабочие, например ПоказатьВопрос. Прошёлся методом перебора по порядку по разделам «Функции работы со значениями типа Строка», «Функции работы со значениями типа Число», «Функции работы со значениями типа Дата» и т.д. до «Процедуры и функции сохранения значений».

Следующие за ним разделы решил не проверять, т.к. они явно не для работы из чистого СКД (например «Процедуры и функции работы с операционной системой», «Процедуры и функции работы с внешними компонентами» и т.д.).

Проверял в СКД на данных полученные запросом:

Перечень методов глобального контекста работающих в СКД на платформе «8.3.8.1652» «8.3.7.1845», «8.3.6.2390» и «8.2.19.130» в управляемом приложении клиенте:

  1. СтрНайти (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130). Найти на 8.2.19.130 тоже не работает.
  2. СтрСравнить (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
  3. СтрНачинаетсяС (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
  4. СтрЗаканчиваетсяНа (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
  5. СтрРазделить (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
  6. СтрСоединить (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
  7. ТекущаяДата()
  8. СтрШаблон (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
  9. ЧислоПрописью
  10. НСтр
  11. ПредставлениеПериода
  12. ПолучитьОбщийМакет
  13. ПредопределенноеЗначение
  14. ПолучитьПолноеИмяПредопределенногоЗначения
  15. ПолучитьСкоростьКлиентскогоСоединения()
  16. ИмяКомпьютера()
  17. ИмяПользователя()
  18. ПолноеИмяПользователя()
  19. КаталогПрограммы()
  20. КаталогВременныхФайлов()
  21. ПравоДоступа – тут надо разбираться как передать ОбъектМетаданных в параметр
  22. РольДоступна
  23. ТекущийЯзык()
  24. ТекущийКодЛокализации()
  25. СтрокаСоединенияИнформационнойБазы()
  26. ПараметрыДоступа – тут надо разбираться как передать ОбъектМетаданных в параметр
  27. ПредставлениеПриложения
  28. ТекущийЯзыкСистемы()
  29. ТекущийРежимЗапуска()
  30. ЧасовойПоясСеанса()
  31. ТекущаяДатаСеанса()
  32. ПредставлениеПрава
  33. ПолучитьИнформациюЭкрановКлиента() (не работает на 8.2.19.130)
  34. ТекущийВариантОсновногоШрифтаКлиентскогоПриложения() (не работает на 8.2.19.130)
  35. ТекущийВариантИнтерфейсаКлиентскогоПриложения() (не работает на 8.2.19.130)
  36. ЗначениеВСтрокуВнутр
  37. ЗначениеИзСтрокиВнутр
  38. ПолучитьИмяВременногоФайла()
  39. ЗначениеЗаполнено (зачеркнул, т.к. есть в справке)
  40. ТекущаяУниверсальнаяДатаВМиллисекундах()

Среди этих методов есть абсолютно бесполезные, например «ПолучитьИнформациюЭкрановКлиента()» (даже представить не могу где это можно применить в чистом СКД), но есть и очень даже полезные, например «ЧислоПрописью». К сожалению, СокрЛП до сих пор не работает…

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

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

В отчете нет ничего нового относительно данной статьи, но к сожалению, написать бесплатную статью с файлом нельзя по правилам Инфостарта. В отчете все 40 методов тестируются на «чистом» СКД через вычисляемые поля. Результат работы отчета приведен в скриншоте к статье. Если проверять на базе где нет «Перечисление.ВидыИмущества.ОсобенностиОтсутствуют» то методы ПредопределенноеЗначение и ПолучитьПолноеИмяПредопределенногоЗначения работать не будут, поэтому требуется ручная замена на что-нибудь подходящее.

Описание ошибки:
Отчет на СКД формируется программно. При этом используется одно вычисляемое поле, в выражении которого указана экспортная функция глобального модуля. При формировании отчета возникает ошибка: : Ошибка при вызове метода контекста (Следующий) ЭлементРезультата = ПроцессорКомпановки.Следующий(); по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Ошибка в выражении по причине: Синтаксическая ошибка «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

1с 8 скд вывод вычисляемого поля с выражением при программном выводе

1с 8 ошибка при выводе вычисляемого поля с выражением отчета на СКД при программном выводе

Подробное изучение методической информации дало понять, что при программном выводе отчета в коде было отключено использование внешних функций. См. текст из синтаксис-помощника метода Инициализировать() процессора компоновки данных (ПроцессорКомпоновкиДанных):

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>),
где <ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь

Поэтому в код программного вывода отчета было добавлено отсутствующее условие (выделено жирным):

ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных ;
ПроцессорКомпановки . Инициализировать ( МакетКомпоновки , , ДанныеРасшифровки , Истина);

Но после этого СКД отказалсь вывести отчет, рапортуя ошибку:

1с 8 скд ошибка вывода вычисляемого поля отчета на СКД использующего выражение с функцией при программном выводе

: Ошибка при вызове метода контекста (Следующий)
ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Функция не найдена «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

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

1с 8 скд использование функции в выражении вычисляемого поля программно выводимого отчета

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

Читайте также:

  • Как задать вопрос аудитору в 1с итс
  • Oc android что это за программа и нужна ли она
  • 1с ерп коммерческое предложение как
  • Драйвера 5850 не обновляются
  • Ch340 драйвер не работает

Ошибка расшифровки скд

Я
   mirrr

04.12.11 — 18:45

Подключаю к скд внеш. набор данных. Выскакивает ошибка:

Ошибка при вызове метода контекста (Инициализировать)

ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);

по причине:

Несоответствие типов (параметр номер ‘3’)

ДанныеРасшифровки-св-во формы, которое передаю с клиента на сервер

   mirrr

1 — 04.12.11 — 18:49

при выполнении ДанныеРасшифровки содержит пустую строку (тип — строка)

   mirrr

2 — 04.12.11 — 19:52

?

   Дядя Васька

3 — 04.12.11 — 19:57

ПроцессорКомпоновкиДанных (DataCompositionProcessor)

Инициализировать (Initialize)

Синтаксис:

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)

Параметры:

<Макет> (обязательный)

Тип: МакетКомпоновкиДанных. Макет, для которого будет выполняться компоновка.

<ВнешниеНаборыДанных> (необязательный)

Тип: Структура. Ключ структуры соответствует имени внешнего набора данных. Значение структуры — внешнему набору данных.

<ДанныеРасшифровки> (необязательный)

Тип: ДанныеРасшифровкиКомпоновкиДанных. Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет.

<ВозможностьИспользованияВнешнихФункций> (необязательный)

Тип: Булево. Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.

Значение по умолчанию: Ложь

Описание:

Инициализировать объект.

Доступность:

Сервер, толстый клиент, внешнее соединение.

   Дядя Васька

4 — 04.12.11 — 19:57

где тут хоть один параметр с типом строка?

   mirrr

5 — 04.12.11 — 20:10

(4) 8.2, реквизит в упр. форме «ДанныеРасшифровки» имеет тип «строка».

У меня макет «ОсновнаяСхемаКомпоновкиДанных», вывожу программно, подключаю внеш. набор данных. Передаю значение реквизита формы в ПроцессорКомпоновкиДанных.Инициализировать

   mirrr

6 — 04.12.11 — 20:13

+(5) Передаю значение реквизита формы «ДанныеРасшифровки» в ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);

Будет ли работать стандартная расшифровка при программном выводе, или обязательно надо делать обработчик расшифровки?

   Дядя Васька

7 — 04.12.11 — 20:15

Ну так я из 8.2 и скопировал…

   mirrr

8 — 04.12.11 — 20:18

Будет ли работать стандартная расшифровка при программном выводе, или обязательно надо делать обработчик расшифровки?

   Дядя Васька

9 — 04.12.11 — 20:20

(8) Блин, ну очевидно же что из строки тебе надо сделать коллекцию индексов и уже ее передавать. Строковых параметров не принимает.

   Дядя Васька

10 — 04.12.11 — 20:22

+(9) Хотя странно все это, по идее у расшифровки должен быть тип ДанныеРасшифровкиКомпоновкиДанных, как он у тебя строкой-то оказался?

   Дядя Васька

11 — 04.12.11 — 20:24

Расширение формы отчета (Report form extension)

ДанныеРасшифровки (DetailsData)

Использование:

Чтение и запись.

Описание:

Тип: ДанныеРасшифровкиКомпоновкиДанных. Содержит данные расшифровки последнего выполненного отчета.

Доступность:

Толстый клиент.

   mirrr

12 — 04.12.11 — 20:25

(10) создай упр. форму отчета, на форме будет реквизит ДанныеРасшифровки с типом строка

   mirrr

13 — 04.12.11 — 20:25

(9) где можно пример посмотреть? Отладчиком  не нашел эту коллекцию

   Дядя Васька

14 — 04.12.11 — 20:34

(12) Какую именно форму-то? У формы отчета, формы настроек и подобных есть реквизит КомпоновщикНастроек, в нем Настройки — ПараметрыДанных который ни разу не строка. Как ты ее создаешь-то?

   Дядя Васька

15 — 04.12.11 — 20:37

(14) Пардон, понял…

   Дядя Васька

16 — 04.12.11 — 20:43

http://help1c.com/help/view/3394.html

«ВАЖНО!

Для того, чтобы при выводе отчета объект ДанныеРасшифровки был заполнен, следует его создать при компоновке макета и передать в процессор компоновки данных.

Для создания объекта ДанныеРасшифровки, при вызове метода Выполнить компоновщика макета, следует передать переменную, в которую требуется поместить созданный объект.

Пример:

Код 1C v 8.х

    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);   »

такое есть?

   mirrr

17 — 04.12.11 — 20:47

у меня так же написано. Не работает

   mirrr

18 — 04.12.11 — 20:53

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

   
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, МакетОформления);

// Инициализируем процессор СКД

   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);

   mirrr

19 — 04.12.11 — 20:57

(18) при этом при 2-ом клике выскакивает не расшифровка, окошко с числом, вроде порядковый номер поля в группировке. Как сделать, чтобы стандартная расшифровка скд работала?

   mirrr

20 — 04.12.11 — 20:57

(19)* (18) при этом при 2-ом клике выскакивает не расшифровка, а окошко с числом(порядковый номер поля в группировке). Как сделать, чтобы стандартная расшифровка скд работала?

  

mirrr

21 — 04.12.11 — 21:28

?

Gnost
22.06.2012 16:27 Прочитано: 5412

Добрый день, есть отчет, созданный на СКД. Вызывается он программно. Если я вывожу его в файловом варианте — все проходит успешно; отчет выводится, расшифровка работает, но как только я пытаюсь вызвать его в клиент-серверном варианте происходит ошибка;

«{Отчет.Отчет.Форма.ФормаОтчетаУправляемая.Форма(380)}: Ошибка при вызове метода контекста (Инициализировать)
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
по причине:
Несоответствие типов (параметр номер ‘3’)»

Код 1C v 8.2 УП

 &НаСервере
Процедура ВывестиРасшифровкуПоПлановымПоказателям(НоменклатурнаяГруппа, ТабличныйДокумент)

СхемаКомпановкиДанных = Отчеты.вр_ОтчетДляКонтроляПлатежейПоЗаказам.ПолучитьМакет("РасшифровкаПоПлановымПоказателям");

Настройки = СхемаКомпановкиДанных.НастройкиПоУмолчанию;

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

КомпановщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновки = КомпановщикМакета.Выполнить(СхемаКомпановкиДанных, Настройки, ДанныеРасшифровки);

// Параметры

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);

ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Помогите пожалуйста разобраться где ошибка.


Изменено 22.06.12 16:27:56

Yandex
Возможно, вас также заинтересует

Реклама на портале

Gnost
22.06.2012 17:21 Ответ № 1

Сори, моя невнимательность )

Gnost
22.06.2012 17:21 Ответ № 2

Вопрос закрыт!

Подсказка: Для редактирования своего ответа щелкните по значку (справа)

{ВнешнийОтчет.рар_ПроектнаяСтатистикаДокументов.МодульОбъекта}: Ошибка при вызове метода контекста (Инициализировать)     ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина); по причине: Ошибка компоновки данных по причине: Ошибка инициализации по причине: Ошибка создания набора данных «НаборДанных1» по причине: Не найден внешний набор данных «ТЗПроектнаяСтатистика

Ждем историю, куда подевался ТЗПроектнаяСтатистика

НоваяСтрВидыДок.ДокументСиноним = «Поступление товаров и услуг»;                            НоваяСтрВидыДок.ДокументСиноним = «Расчет управленческой выручки (Рарус)»;

В ДНК ошибка. Тип ТЗПроектнаяСтатистика должен быть ТаблицаЗначений

получилось! ВСЕ СПАСИБО!!!

Тэги: 1С 8

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

  1. Здравствуйте. Пишу отчет на СКД. Конфигурация Комплексная автоматизация.
    Оттестировала запрос в консоли запросов, но вот какая фигня, в отчете СКД пишет такую ерунду:
    Сам запрос:

    ВЫБРАТЬ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
    ПОМЕСТИТЬ МассивДатПериода
    ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
    ГДЕ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНачала И &ДатаОкончания
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    МассивДатПериода.ДатаКалендаря КАК Дата,
    Номенклатура.Ссылка КАК Номенклатура
    ПОМЕСТИТЬ ТоварСДатами
    ИЗ
    Справочник.Номенклатура КАК Номенклатура,
    МассивДатПериода КАК МассивДатПериода
    ГДЕ
    Номенклатура.ЭтоГруппа = ЛОЖЬ
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    &ДатаНачала КАК Дата,
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения,
    ЦеныНоменклатурыСрезПоследних.Цена
    ПОМЕСТИТЬ СрезПервыхЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    &ДатаНачала,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)
    И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    &ДатаОкончания КАК Дата,
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения,
    ЦеныНоменклатурыСрезПоследних.Цена
    ПОМЕСТИТЬ СрезПоследнихЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    &ДатаОкончания,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)
    И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЦеныНоменклатуры.Период КАК Дата,
    ЦеныНоменклатуры.Номенклатура,
    ЦеныНоменклатуры.Цена,
    ЦеныНоменклатуры.ЕдиницаИзмерения
    ПОМЕСТИТЬ ИзмененияЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ГДЕ
    ЦеныНоменклатуры.ТипЦен = &ТипЦен
    И ЦеныНоменклатуры.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ЦеныНоменклатуры.Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    СрезПервыхЦен.Дата КАК Дата,
    СрезПервыхЦен.Номенклатура КАК Номенклатура,
    СрезПервыхЦен.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    МАКСИМУМ(СрезПервыхЦен.Цена) КАК Цена
    ПОМЕСТИТЬ ЦеныНоменклатуры
    ИЗ
    СрезПервыхЦен КАК СрезПервыхЦен

    СГРУППИРОВАТЬ ПО
    СрезПервыхЦен.Дата,
    СрезПервыхЦен.Номенклатура,
    СрезПервыхЦен.ЕдиницаИзмерения

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    СрезПоследнихЦен.Дата,
    СрезПоследнихЦен.Номенклатура,
    СрезПоследнихЦен.ЕдиницаИзмерения,
    СрезПоследнихЦен.Цена
    ИЗ
    СрезПоследнихЦен КАК СрезПоследнихЦен

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ИзмененияЦен.Дата,
    ИзмененияЦен.Номенклатура,
    ИзмененияЦен.ЕдиницаИзмерения,
    ИзмененияЦен.Цена
    ИЗ
    ИзмененияЦен КАК ИзмененияЦен
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.ПериодДень КАК Период,
    ПродажиОбороты.СтоимостьОборот КАК Выручка
    ПОМЕСТИТЬ ТоварыСДатойЦеныПродажи
    ИЗ
    РегистрНакопления.Продажи.Обороты(
    &ДатаНачала,
    &ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ПродажиОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ПродажиОбороты.ПериодДень >= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) <> ТИП(Документ.ВозвратТоваровОтПокупателя)

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.ПериодДень,
    ПродажиОбороты.СтоимостьОборот
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныПродажи.Период КАК Период,
    ТоварыСДатойЦеныПродажи.Номенклатура КАК Номенклатура,
    ТоварыСДатойЦеныПродажи.ДатаЦены,
    СУММА(ТоварыСДатойЦеныПродажи.Количество) КАК Количество,
    МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    СУММА(ТоварыСДатойЦеныПродажи.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость,
    ТоварыСДатойЦеныПродажи.Выручка
    ПОМЕСТИТЬ Продажи
    ИЗ
    ТоварыСДатойЦеныПродажи КАК ТоварыСДатойЦеныПродажи
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныПродажи.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныПродажи.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныПродажи.ДатаЦены,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    ТоварыСДатойЦеныПродажи.Период,
    ТоварыСДатойЦеныПродажи.Номенклатура,
    ТоварыСДатойЦеныПродажи.Выручка
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.ПериодДень КАК Период,
    ПродажиОбороты.СтоимостьОборот КАК Выручка
    ПОМЕСТИТЬ ТоварыСДатойЦеныВозвраты
    ИЗ
    РегистрНакопления.Продажи.Обороты(
    &ДатаНачала,
    &ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ПродажиОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ПродажиОбороты.ПериодДень >= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ВозвратТоваровОтПокупателя)

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.ПериодДень,
    ПродажиОбороты.СтоимостьОборот
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныВозвраты.Период КАК Период,
    ТоварыСДатойЦеныВозвраты.Номенклатура КАК Номенклатура,
    ТоварыСДатойЦеныВозвраты.ДатаЦены,
    СУММА(ТоварыСДатойЦеныВозвраты.Количество) КАК Количество,
    МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    СУММА(ТоварыСДатойЦеныВозвраты.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость,
    ТоварыСДатойЦеныВозвраты.Выручка
    ПОМЕСТИТЬ Возвраты
    ИЗ
    ТоварыСДатойЦеныВозвраты КАК ТоварыСДатойЦеныВозвраты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныВозвраты.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныВозвраты.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныВозвраты.ДатаЦены,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    ТоварыСДатойЦеныВозвраты.Период,
    ТоварыСДатойЦеныВозвраты.Номенклатура,
    ТоварыСДатойЦеныВозвраты.Выручка
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыНаСкладахОбороты.Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ТоварыНаСкладахОбороты.КоличествоОборот КАК Количество,
    ТоварыНаСкладахОбороты.ПериодДень КАК Период
    ПОМЕСТИТЬ ТоварыСДатойЦеныОприходования
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Обороты(
    &ДатаНачала,
    &ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ТоварыНаСкладахОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ТоварыНаСкладахОбороты.ПериодДень >= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ОприходованиеТоваров)

    СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОбороты.Номенклатура,
    ТоварыНаСкладахОбороты.КоличествоОборот,
    ТоварыНаСкладахОбороты.ПериодДень
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныОприходования.Период КАК Период,
    ТоварыСДатойЦеныОприходования.Номенклатура КАК Номенклатура,
    ТоварыСДатойЦеныОприходования.ДатаЦены,
    СУММА(ТоварыСДатойЦеныОприходования.Количество) КАК Количество,
    МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    СУММА(ТоварыСДатойЦеныОприходования.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость
    ПОМЕСТИТЬ Оприходования
    ИЗ
    ТоварыСДатойЦеныОприходования КАК ТоварыСДатойЦеныОприходования
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныОприходования.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныОприходования.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныОприходования.ДатаЦены,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    ТоварыСДатойЦеныОприходования.Период,
    ТоварыСДатойЦеныОприходования.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыНаСкладахОбороты.Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ТоварыНаСкладахОбороты.КоличествоОборот КАК Количество,
    ТоварыНаСкладахОбороты.ПериодДень КАК Период
    ПОМЕСТИТЬ ТоварыСДатойЦеныСписания
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Обороты(
    &ДатаНачала,
    &ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ТоварыНаСкладахОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ТоварыНаСкладахОбороты.ПериодДень >= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.СписаниеТоваров)

    СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОбороты.Номенклатура,
    ТоварыНаСкладахОбороты.КоличествоОборот,
    ТоварыНаСкладахОбороты.ПериодДень
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныСписания.Период КАК Период,
    ТоварыСДатойЦеныСписания.Номенклатура КАК Номенклатура,
    ТоварыСДатойЦеныСписания.ДатаЦены,
    СУММА(ТоварыСДатойЦеныСписания.Количество) КАК Количество,
    МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    СУММА(ТоварыСДатойЦеныСписания.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость
    ПОМЕСТИТЬ Списания
    ИЗ
    ТоварыСДатойЦеныСписания КАК ТоварыСДатойЦеныСписания
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныСписания.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныСписания.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныСписания.ДатаЦены,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    ТоварыСДатойЦеныСписания.Период,
    ТоварыСДатойЦеныСписания.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Продажи.Номенклатура
    ПОМЕСТИТЬ ЗадейстованнаяНоменклатураНесгруппированная
    ИЗ
    Продажи КАК Продажи

    СГРУППИРОВАТЬ ПО
    Продажи.Номенклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Возвраты.Номенклатура
    ИЗ
    Возвраты КАК Возвраты

    СГРУППИРОВАТЬ ПО
    Возвраты.Номенклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Оприходования.Номенклатура
    ИЗ
    Оприходования КАК Оприходования

    СГРУППИРОВАТЬ ПО
    Оприходования.Номенклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Списания.Номенклатура
    ИЗ
    Списания КАК Списания

    СГРУППИРОВАТЬ ПО
    Списания.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЗадейстованнаяНоменклатураНесгруппированная.Номенклатура
    ПОМЕСТИТЬ ЗадействованнаяНоменклатура
    ИЗ
    ЗадейстованнаяНоменклатураНесгруппированная КАК ЗадейстованнаяНоменклатураНесгруппированная

    СГРУППИРОВАТЬ ПО
    ЗадейстованнаяНоменклатураНесгруппированная.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЗадействованнаяНоменклатура.Номенклатура,
    0 КАК КоличествоПродаж,
    0 КАК СебестоимостьПродаж,
    0 КАК ВыручкаПродаж,
    0 КАК КоличествоВозвратов,
    0 КАК СебестоимостьВозвратов,
    0 КАК ВыручкаВозвратов,
    0 КАК КоличествоОприходования,
    0 КАК СебестоимостьОприходования,
    0 КАК КоличествоСписания,
    0 КАК СебестоимостьСписания
    ПОМЕСТИТЬ Предфинал
    ИЗ
    ЗадействованнаяНоменклатура КАК ЗадействованнаяНоменклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Продажи.Номенклатура,
    Продажи.Количество,
    Продажи.Себестоимость,
    Продажи.Выручка,
    0,
    0,
    0,
    0,
    0,
    0,
    0
    ИЗ
    Продажи КАК Продажи

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Возвраты.Номенклатура,
    0,
    0,
    0,
    Возвраты.Количество,
    Возвраты.Себестоимость,
    Возвраты.Выручка,
    0,
    0,
    0,
    0
    ИЗ
    Возвраты КАК Возвраты

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Оприходования.Номенклатура,
    0,
    0,
    0,
    0,
    0,
    0,
    Оприходования.Количество,
    Оприходования.Себестоимость,
    0,
    0
    ИЗ
    Оприходования КАК Оприходования

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Списания.Номенклатура,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    Списания.Количество,
    Списания.Себестоимость
    ИЗ
    Списания КАК Списания
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Предфинал.Номенклатура,
    СУММА(Предфинал.КоличествоПродаж) КАК КоличествоПродаж,
    СУММА(Предфинал.СебестоимостьПродаж) КАК СебестоимостьПродаж,
    СУММА(Предфинал.ВыручкаПродаж) КАК ВыручкаПродаж,
    СУММА(Предфинал.КоличествоВозвратов) КАК КоличествоВозвратов,
    СУММА(Предфинал.СебестоимостьВозвратов) КАК СебестоимостьВозвратов,
    СУММА(Предфинал.ВыручкаВозвратов) КАК ВыручкаВозвратов,
    СУММА(Предфинал.КоличествоОприходования) КАК КоличествоОприходования,
    СУММА(Предфинал.СебестоимостьОприходования) КАК СебестоимостьОприходования,
    СУММА(Предфинал.КоличествоСписания) КАК КоличествоСписания,
    СУММА(Предфинал.СебестоимостьСписания) КАК СебестоимостьСписания
    ИЗ
    Предфинал КАК Предфинал

    СГРУППИРОВАТЬ ПО
    Предфинал.Номенклатура

    — Объединение сообщений, 27 ноя 2015

    Вот не могу понять в чем ошибка, в консоле же отрабатывает.


  2. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204

    Может тогда дело не в запросе? Не думали об этом? Код формирования СКД покажите?

    — Объединение сообщений, 27 ноя 2015

    Бесят. Почему не удаляете временные таблицы?

  3. Добрый день,
    Возьмите себе за правило, когда помещаете результат запроса в виртуальную таблицу, назначать ей имя 1. уникальное, 2. начинающееся с «ВТ»

  4. О как, в коде формирования действительно первый пакет запроса пропадает… Конец кода сократила, форум не пропускает.

    <dataComposition xmlns=»http://v8.1c.ru/8.1/data-composition-system/composition-template» xmlns:dcsat=»http://v8.1c.ru/8.1/data-composition-system/area-template» xmlns:dcscom=»http://v8.1c.ru/8.1/data-composition-system/common» xmlns:dcscor=»http://v8.1c.ru/8.1/data-composition-system/core» xmlns:style=»http://v8.1c.ru/8.1/data/ui/style» xmlns:sys=»http://v8.1c.ru/8.1/data/ui/fonts/system» xmlns:v8ui=»http://v8.1c.ru/8.1/data/ui» xmlns:web=»http://v8.1c.ru/8.1/data/ui/colors/web» xmlns:win=»http://v8.1c.ru/8.1/data/ui/colors/windows» xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»>
    <dataSource>
    <name>ИсточникДанных1</name>
    <type>Local</type>
    </dataSource>
    <dataSet xsi:type=»DataSetQuery»>
    <name>НаборДанных1</name>
    <field>
    <dataPath>ВыручкаВозвратов</dataPath>
    <name>ВыручкаВозвратов</name>
    </field>
    <field>
    <dataPath>ВыручкаПродаж</dataPath>
    <name>ВыручкаПродаж</name>
    </field>
    <field>
    <dataPath>КоличествоВозвратов</dataPath>
    <name>КоличествоВозвратов</name>
    </field>
    <field>
    <dataPath>КоличествоПродаж</dataPath>
    <name>КоличествоПродаж</name>
    </field>
    <field>
    <dataPath>КоличествоСписания</dataPath>
    <name>КоличествоСписания</name>
    </field>
    <field>
    <dataPath>Номенклатура</dataPath>
    <name>Номенклатура</name>
    <role>
    <dcscom:dimension>true</dcscom:dimension>
    </role>
    </field>
    <field>
    <dataPath>НоменклатураПредставление</dataPath>
    <name>НоменклатураПредставление</name>
    <role>
    <dcscom:dimensionAttribute>true</dcscom:dimensionAttribute>
    </role>
    </field>
    <field>
    <dataPath>СебестоимостьВозвратов</dataPath>
    <name>СебестоимостьВозвратов</name>
    </field>
    <field>
    <dataPath>СебестоимостьОприходования</dataPath>
    <name>СебестоимостьОприходования</name>
    </field>
    <field>
    <dataPath>СебестоимостьПродаж</dataPath>
    <name>СебестоимостьПродаж</name>
    </field>
    <field>
    <dataPath>СебестоимостьСписания</dataPath>
    <name>СебестоимостьСписания</name>
    </field>
    <dataSource>ИсточникДанных1</dataSource>
    <query>ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура
    ПОМЕСТИТЬ ТоварСДатами
    ИЗ
    Справочник.Номенклатура КАК Номенклатура,
    МассивДат КАК МассивДат
    ГДЕ
    Номенклатура.ЭтоГруппа = ЛОЖЬ
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    &amp;ДатаНачала КАК Дата,
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    ПОМЕСТИТЬ СрезПервыхЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    &amp;П,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)
    И ТипЦен = &amp;ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    &amp;ДатаОкончания КАК Дата,
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    ПОМЕСТИТЬ СрезПоследнихЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    &amp;П,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)
    И ТипЦен = &amp;ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЦеныНоменклатуры.Период КАК Дата,
    ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
    ЦеныНоменклатуры.Цена КАК Цена,
    ЦеныНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения
    ПОМЕСТИТЬ ИзмененияЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ГДЕ
    ЦеныНоменклатуры.ТипЦен = &amp;ТипЦен
    И ЦеныНоменклатуры.Период МЕЖДУ &amp;ДатаНачала И &amp;ДатаОкончания
    И ЦеныНоменклатуры.Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    СрезПервыхЦен.Дата КАК Дата,
    СрезПервыхЦен.Номенклатура КАК Номенклатура,
    СрезПервыхЦен.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    МАКСИМУМ(СрезПервыхЦен.Цена) КАК Цена
    ПОМЕСТИТЬ ЦеныНоменклатуры
    ИЗ
    СрезПервыхЦен КАК СрезПервыхЦен

    СГРУППИРОВАТЬ ПО
    СрезПервыхЦен.Дата,
    СрезПервыхЦен.Номенклатура,
    СрезПервыхЦен.ЕдиницаИзмерения

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    СрезПоследнихЦен.Дата,
    СрезПоследнихЦен.Номенклатура,
    СрезПоследнихЦен.ЕдиницаИзмерения,
    СрезПоследнихЦен.Цена
    ИЗ
    СрезПоследнихЦен КАК СрезПоследнихЦен

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ИзмененияЦен.Дата,
    ИзмененияЦен.Номенклатура,
    ИзмененияЦен.ЕдиницаИзмерения,
    ИзмененияЦен.Цена
    ИЗ
    ИзмененияЦен КАК ИзмененияЦен
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ИзмененияЦен
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ СрезПервыхЦен
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ СрезПоследнихЦен
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.ПериодДень КАК Период,
    ПродажиОбороты.СтоимостьОборот КАК Выручка
    ПОМЕСТИТЬ ТоварыСДатойЦеныПродажи
    ИЗ
    РегистрНакопления.Продажи.Обороты(
    &amp;ДатаНачала,
    &amp;ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ПродажиОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ПродажиОбороты.ПериодДень &gt;= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) &lt;&gt; ТИП(Документ.ВозвратТоваровОтПокупателя)

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.ПериодДень,
    ПродажиОбороты.СтоимостьОборот
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныПродажи.Номенклатура КАК Номенклатура,
    СУММА(ТоварыСДатойЦеныПродажи.Количество) КАК Количество,
    СУММА(ТоварыСДатойЦеныПродажи.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость,
    ТоварыСДатойЦеныПродажи.Выручка КАК Выручка
    ПОМЕСТИТЬ Продажи
    ИЗ
    ТоварыСДатойЦеныПродажи КАК ТоварыСДатойЦеныПродажи
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныПродажи.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныПродажи.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныПродажи.Номенклатура,
    ТоварыСДатойЦеныПродажи.Выручка
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТоварыСДатойЦеныПродажи
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.ПериодДень КАК Период,
    ПродажиОбороты.СтоимостьОборот КАК Выручка
    ПОМЕСТИТЬ ТоварыСДатойЦеныВозвраты
    ИЗ
    РегистрНакопления.Продажи.Обороты(
    &amp;ДатаНачала,
    &amp;ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ПродажиОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ПродажиОбороты.ПериодДень &gt;= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ВозвратТоваровОтПокупателя)

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.ПериодДень,
    ПродажиОбороты.СтоимостьОборот
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныВозвраты.Номенклатура КАК Номенклатура,
    СУММА(ТоварыСДатойЦеныВозвраты.Количество) КАК Количество,
    СУММА(ТоварыСДатойЦеныВозвраты.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость,
    ТоварыСДатойЦеныВозвраты.Выручка КАК Выручка
    ПОМЕСТИТЬ Возвраты
    ИЗ
    ТоварыСДатойЦеныВозвраты КАК ТоварыСДатойЦеныВозвраты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныВозвраты.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныВозвраты.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныВозвраты.Номенклатура,
    ТоварыСДатойЦеныВозвраты.Выручка
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТоварыСДатойЦеныВозвраты
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыНаСкладахОбороты.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ТоварыНаСкладахОбороты.КоличествоОборот КАК Количество,
    ТоварыНаСкладахОбороты.ПериодДень КАК Период
    ПОМЕСТИТЬ ТоварыСДатойЦеныОприходования
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Обороты(
    &amp;ДатаНачала,
    &amp;ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ТоварыНаСкладахОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ТоварыНаСкладахОбороты.ПериодДень &gt;= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ОприходованиеТоваров)

    СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОбороты.Номенклатура,
    ТоварыНаСкладахОбороты.КоличествоОборот,
    ТоварыНаСкладахОбороты.ПериодДень
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныОприходования.Номенклатура КАК Номенклатура,
    СУММА(ТоварыСДатойЦеныОприходования.Количество) КАК Количество,
    СУММА(ТоварыСДатойЦеныОприходования.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость
    ПОМЕСТИТЬ Оприходования
    ИЗ
    ТоварыСДатойЦеныОприходования КАК ТоварыСДатойЦеныОприходования
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныОприходования.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныОприходования.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныОприходования.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТоварыСДатойЦеныОприходования
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыНаСкладахОбороты.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ЦеныНоменклатуры.Дата) КАК ДатаЦены,
    ТоварыНаСкладахОбороты.КоличествоОборот КАК Количество,
    ТоварыНаСкладахОбороты.ПериодДень КАК Период
    ПОМЕСТИТЬ ТоварыСДатойЦеныСписания
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Обороты(
    &amp;ДатаНачала,
    &amp;ДатаОкончания,
    Авто,
    Номенклатура В
    (ВЫБРАТЬ
    ТоварСДатами.Номенклатура
    ИЗ
    ТоварСДатами КАК ТоварСДатами
    СГРУППИРОВАТЬ ПО
    ТоварСДатами.Номенклатура)) КАК ТоварыНаСкладахОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ТоварыНаСкладахОбороты.ПериодДень &gt;= ЦеныНоменклатуры.Дата
    ГДЕ
    ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.СписаниеТоваров)

    СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОбороты.Номенклатура,
    ТоварыНаСкладахОбороты.КоличествоОборот,
    ТоварыНаСкладахОбороты.ПериодДень
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ТоварыСДатойЦеныСписания.Номенклатура КАК Номенклатура,
    СУММА(ТоварыСДатойЦеныСписания.Количество) КАК Количество,
    СУММА(ТоварыСДатойЦеныСписания.Количество * ЦеныНоменклатуры.Цена) КАК Себестоимость
    ПОМЕСТИТЬ Списания
    ИЗ
    ТоварыСДатойЦеныСписания КАК ТоварыСДатойЦеныСписания
    ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО (ЦеныНоменклатуры.Номенклатура = ТоварыСДатойЦеныСписания.Номенклатура)
    И (ЦеныНоменклатуры.Дата = ТоварыСДатойЦеныСписания.ДатаЦены)

    СГРУППИРОВАТЬ ПО
    ТоварыСДатойЦеныСписания.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТоварыСДатойЦеныСписания
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Продажи.Номенклатура КАК Номенклатура
    ПОМЕСТИТЬ ЗадейстованнаяНоменклатураНесгруппированная
    ИЗ
    Продажи КАК Продажи

    СГРУППИРОВАТЬ ПО
    Продажи.Номенклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Возвраты.Номенклатура
    ИЗ
    Возвраты КАК Возвраты

    СГРУППИРОВАТЬ ПО
    Возвраты.Номенклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Оприходования.Номенклатура
    ИЗ
    Оприходования КАК Оприходования

    СГРУППИРОВАТЬ ПО
    Оприходования.Номенклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Списания.Номенклатура
    ИЗ
    Списания КАК Списания

    СГРУППИРОВАТЬ ПО
    Списания.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЗадейстованнаяНоменклатураНесгруппированная.Номенклатура КАК Номенклатура
    ПОМЕСТИТЬ ЗадействованнаяНоменклатура
    ИЗ
    ЗадейстованнаяНоменклатураНесгруппированная КАК ЗадейстованнаяНоменклатураНесгруппированная

    СГРУППИРОВАТЬ ПО
    ЗадейстованнаяНоменклатураНесгруппированная.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ЗадейстованнаяНоменклатураНесгруппированная
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЗадействованнаяНоменклатура.Номенклатура КАК Номенклатура,
    0 КАК КоличествоПродаж,
    0 КАК СебестоимостьПродаж,
    0 КАК ВыручкаПродаж,
    0 КАК КоличествоВозвратов,
    0 КАК СебестоимостьВозвратов,
    0 КАК ВыручкаВозвратов,
    0 КАК СебестоимостьОприходования,
    0 КАК КоличествоСписания,
    0 КАК СебестоимостьСписания
    ПОМЕСТИТЬ Предфинал
    ИЗ
    ЗадействованнаяНоменклатура КАК ЗадействованнаяНоменклатура

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Продажи.Номенклатура,
    Продажи.Количество,
    Продажи.Себестоимость,
    Продажи.Выручка,
    0,
    0,
    0,
    0,
    0,
    0
    ИЗ
    Продажи КАК Продажи

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Возвраты.Номенклатура,
    0,
    0,
    0,
    Возвраты.Количество,
    Возвраты.Себестоимость,
    Возвраты.Выручка,
    0,
    0,
    0
    ИЗ
    Возвраты КАК Возвраты

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Оприходования.Номенклатура,
    0,
    0,
    0,
    0,
    0,
    0,
    Оприходования.Себестоимость,
    0,
    0
    ИЗ
    Оприходования КАК Оприходования

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Списания.Номенклатура,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    Списания.Количество,
    Списания.Себестоимость
    ИЗ
    Списания КАК Списания
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Предфинал.Номенклатура КАК Номенклатура,
    СУММА(Предфинал.КоличествоПродаж) КАК КоличествоПродаж,
    СУММА(Предфинал.СебестоимостьПродаж) КАК СебестоимостьПродаж,
    СУММА(Предфинал.ВыручкаПродаж) КАК ВыручкаПродаж,
    СУММА(Предфинал.КоличествоВозвратов) КАК КоличествоВозвратов,
    СУММА(Предфинал.СебестоимостьВозвратов) КАК СебестоимостьВозвратов,
    СУММА(Предфинал.ВыручкаВозвратов) КАК ВыручкаВозвратов,
    СУММА(Предфинал.СебестоимостьОприходования) КАК СебестоимостьОприходования,
    СУММА(Предфинал.КоличествоСписания) КАК КоличествоСписания,
    СУММА(Предфинал.СебестоимостьСписания) КАК СебестоимостьСписания,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(Предфинал.Номенклатура) КАК НоменклатураПредставление
    ИЗ
    Предфинал КАК Предфинал

    СГРУППИРОВАТЬ ПО
    ……………………


  5. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204

    Господи, что Вы присылаете?! Пришлите код формирования СКД??????

    — Объединение сообщений, 27 ноя 2015

    Когда наживаете на кнопку Сформировать, код этот пришлите.

  6. Это из консоли СКД. XML макет компоновки, который по сути и содержит в себе конечный запрос. Ясно, что СКД пытаясь оптимизирует, удаляет лишнюю, по его мнению, часть запроса. Вопрос остается в том как эту часть запроса сделать обязательной.
    Честно говоря, не очень понимаю, что за код вы имеете ввиду.


  7. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204


  8. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204

    В Консоле отчетов пробовали сформировать?

  9. Блин, простите не тот.

    Вложения:

    • СКД.erf
      Размер файла:
      8,3 КБ
      Просмотров:
      4

  10. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204


  11. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204

    Укажите имена временных таблиц, так как Вам было написано в сообщении №3.

    — Объединение сообщений, 27 ноя 2015

    ПОМЕСТИТЬ ВТ_ИМЯВАШЕЙТАБЛИЦЫ
  12. Готово.

    Вложения:

    • СКД.erf
      Размер файла:
      8,4 КБ
      Просмотров:
      4

  13. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204

    В смысле готово?! Результат какой?

  14. Ошибка та же. Не пойму, что должно поменяться, кроме текста названия в временных таблиц…


  15. nbIpKuH_BaH9I

    Offline

    nbIpKuH_BaH9I
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.033
    Симпатии:
    533
    Баллы:
    204

    Поэтапно попробуйте отладить. У Вас ругается на самую первую таблицу. Запихните только ее. Что скажет СКД в этом случае.

  16. ВЫБРАТЬ
        РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
    ПОМЕСТИТЬ ВТ_МассивДат
    // уберите фигурные скобки !!!!
    {ВЫБРАТЬ
        ДатаКалендаря}
    ИЗ
        РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
    ГДЕ
        РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНачала И &ДатаОкончания

    — Объединение сообщений, 27 ноя 2015

    в фигурных скобках присоединяются таблицы опционально, согласно параметрам СКД или при явном обращении к ним в выборке

    — Объединение сообщений, 27 ноя 2015

    вернее, нужно убрать полностью все, что в фигурных скобках

    — Объединение сообщений, 27 ноя 2015

    Если такой запрос (с фигурными скобками) отлаживать в консоли запросов, она игнорирует то, что в них содержится (исключает из запроса), а СКД этого не пропустит :)

    Последнее редактирование: 27 ноя 2015

  17. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    OlgaOsipova СКД действительно убирает первую временную таблицу, и в вашем случае делает это абсолютно обоснованно.

    У вас же поле РегламентированныйПроизводственныйКалендарь.ДатаКалендаря нигде не используется потом в запросе, СКД и убирает его, чтобы оптимизировать получение данных.

  18. Да, так же только только обнаружила этот момент. Видимо задумка отчета сначала была одна, затем поменялась. Короче спать пора, а то 4 утра уже.

    Спасибо всем за помощь! Удачи!


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Возможно, вам также будет интересно:

  • 1с при обновлении ошибка исключительной блокировки информационной базы
  • 1с при обновлении ошибка выполнения файловой операции при обновлении
  • 1с при обновлении информационной базы возникла ошибка
  • 1с при обновлении вылетает с ошибкой
  • 1с при обмене ошибка формата потока при

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии