gifts2017

Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции для 1С Розница 1.0 (платформы 8.1, 8.2 и 8.3)

Опубликовал Алекс Тесл (TESL) в раздел Отчеты - Управленческие

Внешний отчет "Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции" для 1С Розница 1.0  (Для типовых, протестирован на рознице 1.0.16.7)(платформы 8.1, 8.2 и 8.3)

Внешний отчет "Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции" для 1С Розница1.0 в соответствии с приказом РАР № 153 от 23-05-2014г. (вступает в силу 14-12-2014г.).

Спасибо Дмитрию Самохину, его отчет был взят за основу и адаптирован для типовой розницы 1.0

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

наименования свойств должны быть идентичны скриншоту.

есть небольшое неудобство с наименованием значений свойства "вид продукции" , т.к. оно ограничено по длинне, по этому нужно будет задавать наименования так чтоб было понятно самим при заполнении, а не так как в классификаторе видов алкогольной продукции, пример привел ниже:

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

Так же добавили обработку которая заполняет справочник "Значения свойств объектов". Открываем обработку и нажимаем кнопку выполнить и все. Это для тех кому не очень хочется заполнять эти данные вручную.

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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Внешний отчет "Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции" 8.2
.erf 34,09Kb
28.11.14
82
.erf 34,09Kb 82 Скачать
Внешняя обработка для заполнения справочника "Значения свойств объектов" 8.2
.epf 13,44Kb
28.11.14
46
.epf 13,44Kb 46 Скачать
Внешний отчет "Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции" 8.1
.erf 32,21Kb
28.11.14
8
.erf 32,21Kb 8 Скачать
Внешняя обработка для заполнения справочника "Значения свойств объектов" 8.1
.epf 11,65Kb
28.11.14
7
.epf 11,65Kb 7 Скачать
Обработка - ПомошникЗаполненияСвойствНоменклатуры 8.2
.epf 16,59Kb
28.11.14
32
.epf 16,59Kb 32 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

2. Eugene Net (ENet) 26.11.14 19:40
Судя по отчету, у вас в журнале строки по приходу и расходу независимы друг от друга, хотя если посмотреть на первый параметр (№ п/п) и разъяснения фсрар по порядку заполнения (каждая хоз.операция в отдельной строке Вопросы-ответы ФСРАР), то наверное это не совсем корректно. Не подскажете, почему выбрали такой способ заполнения, а не с каждой хоз.операцией в отдельной строке?
Прикрепленные файлы:
3. Алекс Тесл (TESL) 26.11.14 23:47
(2) ENet, Да действительно они не зависимы. Как упоминалось в самой статье отчет был сделан на основе http://infostart.ru/public/312092/ в котором я не нашел ничего что бы противоречило http://www.consultant.ru/document/cons_doc_LAW_165152/ или чего бы не хватало. Но теперь почитав http://fsrar.ru/voprosy-i-otvety/raznoe вижу что кое чего не хватает. К примеру перемещений... а на счет хоз операций, я так толком не понял... каждая в отдельности операция это имеется в виду сам чек ? (в этом отчете действительно идет в целом за день по кассе) или же речь идет о том что каждую строку надо делать по порядку, т.е. отдельной строкой поступление, отдельной расход ? или и то и другое ?
4. Eugene Net (ENet) 27.11.14 08:55
(3) TESL, Согласно все тому же приказу ФСРАР п. 4 приложения 2.: "Журнал заполняется по мере совершения хозяйственных операций. Для каждой хозяйственной операции создается новая запись." а в п.5 приложения 2 приказа: "При заполнении журнала указывается: 1) в графе 1 - порядковый номер;" (http://www.consultant.ru/document/cons_doc_LAW_165152/). Я думаю порядковый номер - есть порядковый номер записи. Т. е. приход и расход должны быть, по-моему, связаны между собой датой, временем проведения операции или, как Вы выразились, отдельной строкой поступление, отдельной строкой расход. и я в файле привел пример как, наверное, должно выглядеть.
А отчет о розничных продажах" или чекККМ используется в содержании операции тут совершенно не важно. Главное запись сделана - но в расходе их не стоит группировать по виду, коду алкогольной продукции, а в приходе, если в накладной от одного поставщика несколько разных видов водки- то сгруппировать можно. Хотя есть еще момент с фиксацией в течении дня до закрытия смены - тогда надо конечно же в отчет брать и ЧекККМ (но сомневаюсь,что это необходимо, ведь смену при необходимости можно закрыть в любой момент времени для фиксации в отчете при проверке).
Вот у меня ваш отчет вызвал сомнения только по поводу независимости двух журналов, которые должны быть, наверное, все-таки зависимы (не зря же их в одну форму воткнули).
5. Алекс Тесл (TESL) 27.11.14 10:52
(4) ENet, ну зависимость у них должна быть исключительно временная, я правильно понял ? чтоб они шли в порядке их формирования... (думаю что именно так) и это тоже не противоречит , а более того еще и подходит под объяснения. Это конечно подрывает логику основного запроса к данным текущей обработки, но если надо, то будем делать...
6. Eugene Net (ENet) 27.11.14 15:53
(5) TESL, Наверное, все-таки временн'ая - это не совсем к этому контексту подходит. Скорее просто из №п/п вытекает временн'ая зависимость между хозяйственными операциями. Т.е. чем больше №п/п, тем позже была зафиксирована хозяйственная операция.
Поэтому и заполнение журнала по вашему отчету (по первому скриншоту) скорее всего, является некорректным.
ИМХО. Каждая строка журнала=отдельная хоз.операция.
7. Алекс Тесл (TESL) 28.11.14 13:50
(6) ENet, есть решение :) обработку перезалил, если уже скачали ... надо всего одну процедуру заменить полностью в модуле объекта: "ЗаполнитьПоказателиПоДаннымУчета" и будет все корректно ;)

Процедура ЗаполнитьПоказателиПоДаннымУчета(СтруктураДанныхОтчета) Экспорт
	
	СвойствоЕмкость      = ПрочитатьЗаполнитьСвойства("Емкость", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
	СвойствоВидПродукции = ПрочитатьЗаполнитьСвойства("Вид продукции", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
	
	СписокДоступныхВидовПродукции = Новый СписокЗначений;
	ЗапросВидыПродукции = Справочники.ЗначенияСвойствОбъектов.Выбрать(,ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Вид продукции",Истина));
	Пока ЗапросВидыПродукции.Следующий() цикл
		Если ЗапросВидыПродукции.ЭтоГруппа тогда
			Продолжить;
		Конецесли;
		СписокДоступныхВидовПродукции.Добавить(ЗапросВидыПродукции.Ссылка);
	КонецЦикла;
	
	СписокМагазинов = Новый СписокЗначений;
	СписокМагазинов.Добавить(ПунктРазгрузкиОрганизации);
	
	//Получим данные запроса
	Запрос = Новый Запрос;
	
	Запрос.Параметры.Вставить("СвойствоЕмкость",СвойствоЕмкость);
	Запрос.Параметры.Вставить("СвойствоВидПродукции",СвойствоВидПродукции);

	Запрос.УстановитьПараметр("ДатаНач", ЭтотОбъект.мДатаНачалаПериодаОтчета);
	Запрос.УстановитьПараметр("ДатаКон", ЭтотОбъект.мДатаКонцаПериодаОтчета);
	Запрос.УстановитьПараметр("Организация", ЭтотОбъект.Организация);
	Запрос.УстановитьПараметр("СписокДоступныхВидовПродукции", СписокДоступныхВидовПродукции);
	Запрос.УстановитьПараметр("СписокМагазинов", СписокМагазинов);
	
	Запрос.УстановитьПараметр("ЕстьОтборПоКонтрагентам", ?(Контрагенты.Количество()>0, Истина, Ложь));
	Запрос.УстановитьПараметр("ТаблицаКонтрагентов", Контрагенты.ВыгрузитьКолонку("Контрагент"));
	
	Запрос.Текст = "ВЫБРАТЬ
	|	РТ.СодержаниеЗаписиРасход КАК СодержаниеЗаписиРасход,
	|	РТ.ВидАПРасход КАК ВидАП,
	|	РТ.КодАПРасход КАК КодАП,
	|	РТ.ЕмкостьТарыРасход КАК ЕмкостьТары,
	|	СУММА(ВЫБОР
	|			КОГДА ЕСТЬNULL(РТ.ЕмкостьТарыРасход, 0) = 0
	|				ТОГДА 0
	|			ИНАЧЕ РТ.КоличествоТарыРасход * (ВЫРАЗИТЬ(РТ.ЕмкостьТарыРасход КАК ЧИСЛО(15, 3))) / 10
	|		КОНЕЦ) КАК Количество,
	|	СУММА(РТ.КоличествоТарыРасход) КАК КоличествоТары,
	|	РТ.Магазин,
	|	РТ.Ссылка КАК Регистратор,
	|	РТ.КлючДокумента КАК ПоставщикНаименование,
	|	РТ.Ссылка.Дата КАК ДатаСобытия,
	|	2 КАК ПризнакСобытия,
	|	1 КАК НомерТТНПриход,
	|	1 КАК ИННПриход
	|ИЗ
	|	(ВЫБРАТЬ
	|		3 КАК СодержаниеЗаписиРасход,
	|		ВложенныйЗапросВидПродукции.Значение КАК ВидАП,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование КАК ВидАПРасход,
	|		ВложенныйЗапросВидПродукции.Значение.Код КАК КодАПРасход,
	|		ВложенныйЗапросЕмкость.Значение КАК ЕмкостьТарыРасход,
	|		СписаниеТоваровТовары.Количество КАК КоличествоТарыРасход,
	|		СписаниеТоваровТовары.Ссылка.Магазин КАК Магазин,
	|		СписаниеТоваровТовары.Ссылка КАК Ссылка,
	|		NULL КАК КлючДокумента
	|	ИЗ
	|		Документ.СписаниеТоваров.Товары КАК СписаниеТоваровТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО СписаниеТоваровТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО СписаниеТоваровТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И СписаниеТоваровТовары.Ссылка.Проведен = ИСТИНА
	|		И СписаниеТоваровТовары.Ссылка.Склад.Организация = &Организация
	|		И СписаниеТоваровТовары.Ссылка.Магазин В(&СписокМагазинов)
	|		И СписаниеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		1,
	|		ВложенныйЗапросВидПродукции.Значение,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование,
	|		ВложенныйЗапросВидПродукции.Значение.Код,
	|		ВложенныйЗапросЕмкость.Значение,
	|		ОтчетОРозничныхПродажахТовары.Количество,
	|		ОтчетОРозничныхПродажахТовары.Ссылка.Магазин,
	|		ОтчетОРозничныхПродажахТовары.Ссылка,
	|		NULL
	|	ИЗ
	|		Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО ОтчетОРозничныхПродажахТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО ОтчетОРозничныхПродажахТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И ОтчетОРозничныхПродажахТовары.Ссылка.Проведен = ИСТИНА
	|		И ОтчетОРозничныхПродажахТовары.Ссылка.КассаККМ.Организация = &Организация
	|		И ОтчетОРозничныхПродажахТовары.Ссылка.Магазин В(&СписокМагазинов)
	|		И ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		1,
	|		ВложенныйЗапросВидПродукции.Значение,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование,
	|		ВложенныйЗапросВидПродукции.Значение.Код,
	|		ВложенныйЗапросЕмкость.Значение,
	|		РасходныйОрдерНаТоварыТовары.Количество,
	|		РасходныйОрдерНаТоварыТовары.Ссылка.Магазин,
	|		РасходныйОрдерНаТоварыТовары.Ссылка,
	|		NULL
	|	ИЗ
	|		Документ.РасходныйОрдерНаТовары.Товары КАК РасходныйОрдерНаТоварыТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО РасходныйОрдерНаТоварыТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО РасходныйОрдерНаТоварыТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И РасходныйОрдерНаТоварыТовары.Ссылка.Проведен = ИСТИНА
	|		И РасходныйОрдерНаТоварыТовары.Ссылка.Склад.Организация = &Организация
	|		И РасходныйОрдерНаТоварыТовары.Ссылка.Магазин В(&СписокМагазинов)
	|		И РасходныйОрдерНаТоварыТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		1,
	|		ВложенныйЗапросВидПродукции.Значение,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование,
	|		ВложенныйЗапросВидПродукции.Значение.Код,
	|		ВложенныйЗапросЕмкость.Значение,
	|		ВозвратТоваровПоставщикуТовары.Количество,
	|		ВозвратТоваровПоставщикуТовары.Ссылка.Магазин,
	|		ВозвратТоваровПоставщикуТовары.Ссылка,
	|		NULL
	|	ИЗ
	|		Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО ВозвратТоваровПоставщикуТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО ВозвратТоваровПоставщикуТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И ВозвратТоваровПоставщикуТовары.Ссылка.Проведен = ИСТИНА
	|		И ВозвратТоваровПоставщикуТовары.Ссылка.Склад.Организация = &Организация
	|		И ВозвратТоваровПоставщикуТовары.Ссылка.Магазин В(&СписокМагазинов)
	|		И ВозвратТоваровПоставщикуТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		1,
	|		ВложенныйЗапросВидПродукции.Значение,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование,
	|		ВложенныйЗапросВидПродукции.Значение.Код,
	|		ВложенныйЗапросЕмкость.Значение,
	|		РеализацияТоваровТовары.Количество,
	|		РеализацияТоваровТовары.Ссылка.Магазин,
	|		РеализацияТоваровТовары.Ссылка,
	|		NULL
	|	ИЗ
	|		Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО РеализацияТоваровТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО РеализацияТоваровТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И РеализацияТоваровТовары.Ссылка.Проведен = ИСТИНА
	|		И РеализацияТоваровТовары.Ссылка.Склад.Организация = &Организация
	|		И РеализацияТоваровТовары.Ссылка.Магазин В(&СписокМагазинов)
	|		И РеализацияТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон) КАК РТ
	|
	|СГРУППИРОВАТЬ ПО
	|	РТ.СодержаниеЗаписиРасход,
	|	РТ.ЕмкостьТарыРасход,
	|	РТ.Магазин,
	|	РТ.ВидАПРасход,
	|	РТ.КодАПРасход,
	|	РТ.Ссылка,
	|	РТ.КлючДокумента,
	|	РТ.Ссылка.Дата
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПТ.ВидПродукции,
	|	ПТ.ВидАППриход,
	|	ПТ.КодАППриход,
	|	ПТ.ЕмкостьТарыПриход,
	|	СУММА(ВЫБОР
	|			КОГДА ЕСТЬNULL(ПТ.ЕмкостьТарыПриход, 0) = 0
	|				ТОГДА 0
	|			ИНАЧЕ ПТ.Количество * (ВЫРАЗИТЬ(ПТ.ЕмкостьТарыПриход КАК ЧИСЛО(15, 3))) / 10
	|		КОНЕЦ),
	|	СУММА(ПТ.Количество),
	|	ПТ.Магазин,
	|	ПТ.Ссылка,
	|	ПТ.ПоставщикНаименованиеПриход,
	|	ПТ.ДатаТТНПриход,
	|	1,
	|	ПТ.НомерТТНПриход,
	|	ПТ.ИННПриход
	|ИЗ
	|	(ВЫБРАТЬ
	|		ВложенныйЗапросВидПродукции.Значение КАК ВидПродукции,
	|		ПоступлениеТоваровТовары.Количество КАК Количество,
	|		ПоступлениеТоваровТовары.Ссылка.Контрагент КАК ПоставщикНаименованиеПриход,
	|		ВЫБОР
	|			КОГДА ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента ЕСТЬ NULL 
	|				ТОГДА ПоступлениеТоваровТовары.Ссылка.Дата
	|			ИНАЧЕ ВЫБОР
	|					КОГДА ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента = ДАТАВРЕМЯ(1, 1, 1)
	|						ТОГДА ПоступлениеТоваровТовары.Ссылка.Дата
	|					ИНАЧЕ ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента
	|				КОНЕЦ
	|		КОНЕЦ КАК ДатаТТНПриход,
	|		ВЫБОР
	|			КОГДА ПоступлениеТоваровТовары.Ссылка.НомерВходящегоДокумента ЕСТЬ NULL 
	|				ТОГДА ПоступлениеТоваровТовары.Ссылка.Номер
	|			ИНАЧЕ ВЫБОР
	|					КОГДА ПоступлениеТоваровТовары.Ссылка.НомерВходящегоДокумента = """"
	|						ТОГДА ПоступлениеТоваровТовары.Ссылка.Номер
	|					ИНАЧЕ ПоступлениеТоваровТовары.Ссылка.НомерВходящегоДокумента
	|				КОНЕЦ
	|		КОНЕЦ КАК НомерТТНПриход,
	|		ВложенныйЗапросЕмкость.Значение КАК ЕмкостьТарыПриход,
	|		ПоступлениеТоваровТовары.Ссылка.Магазин КАК Магазин,
	|		ПоступлениеТоваровТовары.Ссылка КАК Ссылка,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование КАК ВидАППриход,
	|		ВложенныйЗапросВидПродукции.Значение.Код КАК КодАППриход,
	|		ПоступлениеТоваровТовары.Ссылка.Контрагент.ИНН КАК ИННПриход
	|	ИЗ
	|		Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО ПоступлениеТоваровТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО ПоступлениеТоваровТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		ПоступлениеТоваровТовары.Ссылка.Проведен = ИСТИНА
	|		И ПоступлениеТоваровТовары.Ссылка.Склад.Организация = &Организация
	|		И (НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И ВЫБОР
	|				КОГДА &ЕстьОтборПоКонтрагентам = ИСТИНА
	|					ТОГДА ПоступлениеТоваровТовары.Ссылка.Контрагент В (&ТаблицаКонтрагентов)
	|				ИНАЧЕ ИСТИНА
	|			КОНЕЦ
	|		И ПоступлениеТоваровТовары.Ссылка.Магазин В(&СписокМагазинов)
	|		И ПоступлениеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВложенныйЗапросВидПродукции.Значение,
	|		ОприходованиеТоваровТовары.Количество,
	|		ОприходованиеТоваровТовары.Ссылка.Магазин.ОсновнаяКасса.Организация,
	|		ОприходованиеТоваровТовары.Ссылка.Дата,
	|		ОприходованиеТоваровТовары.Ссылка.Номер,
	|		ВложенныйЗапросЕмкость.Значение,
	|		ОприходованиеТоваровТовары.Ссылка.Магазин,
	|		ОприходованиеТоваровТовары.Ссылка,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование,
	|		ВложенныйЗапросВидПродукции.Значение.Код,
	|		ОприходованиеТоваровТовары.Ссылка.Магазин.ОсновнаяКасса.Организация.ИНН
	|	ИЗ
	|		Документ.ОприходованиеТоваров.Товары КАК ОприходованиеТоваровТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО ОприходованиеТоваровТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО ОприходованиеТоваровТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И ОприходованиеТоваровТовары.Ссылка.Проведен = ИСТИНА
	|		И ОприходованиеТоваровТовары.Ссылка.Склад.Организация = &Организация
	|		И ОприходованиеТоваровТовары.Ссылка.Склад.Магазин В(&СписокМагазинов)
	|		И ОприходованиеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВложенныйЗапросВидПродукции.Значение,
	|		ПриходныйОрдерНаТоварыТовары.Количество,
	|		ПриходныйОрдерНаТоварыТовары.Ссылка.ДокументОснование.Контрагент,
	|		ПриходныйОрдерНаТоварыТовары.Ссылка.ДокументОснование.Дата,
	|		ПриходныйОрдерНаТоварыТовары.Ссылка.ДокументОснование.Номер,
	|		ВложенныйЗапросЕмкость.Значение,
	|		ПриходныйОрдерНаТоварыТовары.Ссылка.Магазин,
	|		ПриходныйОрдерНаТоварыТовары.Ссылка,
	|		ВложенныйЗапросВидПродукции.Значение.Наименование,
	|		ВложенныйЗапросВидПродукции.Значение.Код,
	|		ПриходныйОрдерНаТоварыТовары.Ссылка.Магазин.ОсновнаяКасса.Организация.ИНН
	|	ИЗ
	|		Документ.ПриходныйОрдерНаТовары.Товары КАК ПриходныйОрдерНаТоварыТовары
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоЕмкость) КАК ВложенныйЗапросЕмкость
	|			ПО ПриходныйОрдерНаТоварыТовары.Номенклатура = ВложенныйЗапросЕмкость.Объект
	|			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|				ЗначенияСвойствОбъектов.Значение КАК Значение,
	|				ЗначенияСвойствОбъектов.Объект КАК Объект
	|			ИЗ
	|				РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|			ГДЕ
	|				ЗначенияСвойствОбъектов.Свойство = &СвойствоВидПродукции
	|				И ЗначенияСвойствОбъектов.Значение В(&СписокДоступныхВидовПродукции)) КАК ВложенныйЗапросВидПродукции
	|			ПО ПриходныйОрдерНаТоварыТовары.Номенклатура = ВложенныйЗапросВидПродукции.Объект
	|	ГДЕ
	|		(НЕ ВложенныйЗапросВидПродукции.Значение ЕСТЬ NULL )
	|		И ВложенныйЗапросВидПродукции.Значение В(&СписокДоступныхВидовПродукции)
	|		И ПриходныйОрдерНаТоварыТовары.Ссылка.Проведен = ИСТИНА
	|		И ПриходныйОрдерНаТоварыТовары.Ссылка.Склад.Организация = &Организация
	|		И ПриходныйОрдерНаТоварыТовары.Ссылка.Склад.Магазин В(&СписокМагазинов)
	|		И ПриходныйОрдерНаТоварыТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|		И ПриходныйОрдерНаТоварыТовары.Ссылка.ДокументОснование ССЫЛКА Документ.ПоступлениеТоваров) КАК ПТ
	|
	|СГРУППИРОВАТЬ ПО
	|	ПТ.ВидПродукции,
	|	ПТ.ДатаТТНПриход,
	|	ПТ.НомерТТНПриход,
	|	ПТ.ЕмкостьТарыПриход,
	|	ПТ.Магазин,
	|	ПТ.Ссылка,
	|	ПТ.ВидАППриход,
	|	ПТ.КодАППриход,
	|	ПТ.ИННПриход,
	|	ПТ.ПоставщикНаименованиеПриход
	|
	|УПОРЯДОЧИТЬ ПО
	|	ДатаСобытия,
	|	КодАП";
	
	#Если Клиент Тогда
		Состояние("Отчет: получение данных...");
	#КонецЕсли
	
	
	РезультатЗапроса = Запрос.Выполнить();
	
	НомерСтроки=0;
	
	КоличествоТарыПриход = 0;
	КоличествоПриход = 0;
	КоличествоТарыРасход = 0;
	КоличествоРасход = 0;
	
	ТаблицаДанных=СтруктураДанныхОтчета.ТаблицаДанных;
	ТаблицаДанных.Очистить();
	
	ВыборкаДанных = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДанных.Следующий() Цикл 
		
		
		#Если Клиент Тогда
			Состояние("Отчет: Заполнение таблицы...");
		#КонецЕсли
		НомерСтроки=НомерСтроки+1;
		НоваяСтрока=ТаблицаДанных.Добавить();
		НоваяСтрока.НомерСтроки=НомерСтроки;

		Если ВыборкаДанных.ПризнакСобытия = 1 Тогда 
			НоваяСтрока.КодАППриход = ВыборкаДанных.КодАП;
			НоваяСтрока.ЕмкостьТарыПриход = ВыборкаДанных.ЕмкостьТары;
			НоваяСтрока.КоличествоПриход = ВыборкаДанных.Количество;
			НоваяСтрока.КоличествоТарыПриход = ВыборкаДанных.КоличествоТары;
			НоваяСтрока.Регистратор = ВыборкаДанных.Регистратор;
			НоваяСтрока.ПоставщикНаименованиеПриход = ВыборкаДанных.ПоставщикНаименование;
			НоваяСтрока.ДатаТТНПриход = ВыборкаДанных.ДатаСобытия;
			НоваяСтрока.НомерТТНПриход = ВыборкаДанных.НомерТТНПриход;
			//НоваяСтрока.НомерТТНПриход=ОбщегоНазначения.ПолучитьНомерНаПечать(НоваяСтрока.НомерТТНПриход,МассивПрефиксовОрганизации);
			НоваяСтрока.ИННПриход = ВыборкаДанных.ИННПриход;
			
			КоличествоТарыПриход = КоличествоТарыПриход + НоваяСтрока.КоличествоТарыПриход;
			КоличествоПриход = КоличествоПриход + НоваяСтрока.КоличествоПриход;
			
		ИначеЕсли ВыборкаДанных.ПризнакСобытия = 2 Тогда 
			НоваяСтрока.КодАПРасход = ВыборкаДанных.КодАП;
			НоваяСтрока.ЕмкостьТарыРасход = ВыборкаДанных.ЕмкостьТары;
			НоваяСтрока.КоличествоРасход = ВыборкаДанных.Количество;
			НоваяСтрока.КоличествоТарыРасход = ВыборкаДанных.КоличествоТары;
			НоваяСтрока.РегистраторРасход = ВыборкаДанных.Регистратор;
			НоваяСтрока.СодержаниеЗаписиРасход = ВыборкаДанных.СодержаниеЗаписиРасход;
						
			КоличествоТарыРасход = КоличествоТарыРасход + НоваяСтрока.КоличествоТарыРасход;
			КоличествоРасход = КоличествоРасход + НоваяСтрока.КоличествоРасход;
			
		КонецЕсли;		
		
	КонецЦикла;
	СтруктураДанныхОтчета.СтруктураИтогов.КоличествоТарыПриход = КоличествоТарыПриход;
	СтруктураДанныхОтчета.СтруктураИтогов.КоличествоПриход = КоличествоПриход;
    СтруктураДанныхОтчета.СтруктураИтогов.КоличествоТарыРасход = КоличествоТарыРасход;
    СтруктураДанныхОтчета.СтруктураИтогов.КоличествоРасход = КоличествоРасход;

	
КонецПроцедуры
...Показать Скрыть
8. Дмитрий Денисов (Uncore) 03.12.14 05:30
(7) TESL, вот это запрос. Некорректно его строить по документам, правильнее по регистру накопления, чтобы не привязываться к названиям документов. Соединение со свойствами можно сделать к итоговой таблице один раз, а не к каждому документу.
В нашем журнале запрос занимает втрое меньший объем и использует всего одно обращение к таблицам с данными базы.
Правда, публикация у Вас не коммерческая, поэтому это замечание расценивайте как задачу на развитие, может тоже когда-нибудь коммерческой станет.
9. Алекс Тесл (TESL) 03.12.14 09:14
(8) Uncore, полностью с вами согласен насчет регистров. Но если почитать всю статью с самого начала, то можно обнаружить что данная обработка была сделана на основе другой, ссылка на которую приведена выше. Нашей задачей было адаптировать, а не делать заново ;) с функциями своими журнал справляется, хоть и не так быстро как у вас. А если на выходе не видно разницы, зачем же платить больше ? ;) А если кому нибудь будет необходимо чтоб мы сделали так как будет нужно ему, то мы с радостью это сделаем и при чем за деньги меньшие чем стоит ваша тиражная обработка.
10. sanches (sanches) 08.12.14 13:31
Спасибо, пригодится.
Нашел небольшую ошибку.
Если выбирать период на форме в самом поле, то значение переменных мДатаНачалаПериодаОтчета и мДатаКонцаПериодаОтчета остается неизменным.
11. Андрей Соколов (ivt_2009) 18.05.15 11:41
Решал аналогичную задачу. Вопрос , как перенести значения свойств объектов из УТ в розницу по средствам РИБ
12. Алекс Тесл (TESL) 19.05.15 07:55
(11) ivt_2009, Доброго времени суток! О каких редакциях УТ и Розницы идет речь ? Т.к. для УТ 10.3 <-> РТ 1.0 через обмен прекрасно передаются все свойства, если у вас не стоят какие либо ограничения в плане обмена.
13. pallid *** (white_sochi) 20.05.15 09:43
Капец, скачиваю обработки, а они на почту не приходят. Сегодня пытался скачать 4 раза, монетки ушли а писем нет
Написал в ТП, жду ответа....
Автор, прошу помочь, пришлите на почту 1005220_mail_ru
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа