powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
7 сообщений из 7, страница 1 из 1
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37714857
sergeyermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Уже как два дня сижу над отчетом но ничего не выходит...Платформа стоит 8.2.15.289, конфигурация бухгалтерия для Украины релиз 1.2.5.3

Суть проблемы заключается вот в чем:

[FONT=Arial]Есть внешний отчет, который выбирает за конкретный день все документы "отчет производства за смену" и должен выводить сначала продукцию которая производиться в каждом документе, а затем материалы с которых сделана продукция, проблема заключается вот в чем:[/FONT]

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

Вот основная функция запроса:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ДатаОтчета",ДатаОтчета);
	Запрос.Текст =
	"ВЫБРАТЬ
    | Док.Номер КАК Номер,
    | Док.Дата КАК Дата,
    | Док.Организация КАК Организация,
    | Док.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ОтчетПроизводстваЗаСмену КАК Док
    |ГДЕ
    | Док.Дата = &ДатаОтчета";
	Выборка=Запрос.Выполнить().Выбрать();
	
    ТабДокумент = Новый ТабличныйДокумент;
	ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОтчетПроизводстваЗаСмену_Накладная";

	Макет = ПолучитьМакет("Накладная");

	
	Шапка  = Макет.ПолучитьОбласть("Шапка");
	Шапка.Параметры.ДатаОтчета = ДатаОтчета;
	ТабДокумент.Вывести(Шапка);
	
	
Пока Выборка.Следующий() Цикл
    				ОбработкаПрерыванияПользователя();
					Основа = Макет.ПолучитьОбласть("Элемент");
	                Основа.Параметры.НомерДок = Выборка.Номер;
					СсылкаНаДокумент = Выборка.Ссылка;
	///Выборка Продукции
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("СсылкаНаДокумент",СсылкаНаДокумент);
	Запрос.Текст = "ВЫБРАТЬ
	               |	ВложенныйЗапрос.Номенклатура,
				   |	ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(200)) КАК Товар,
				   |	ВложенныйЗапрос.Количество КАК Количество,
				   |	ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	               |	ВложенныйЗапрос.НомерСтроки КАК НомерСтроки
	               |ИЗ
	               |	(ВЫБРАТЬ
	               |		ОтчетПроизводстваЗаСмену.Номенклатура КАК Номенклатура,
	               |		ОтчетПроизводстваЗаСмену.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения,
	               |		СУММА(ОтчетПроизводстваЗаСмену.Количество) КАК Количество,
	               |		МИНИМУМ(ОтчетПроизводстваЗаСмену.НомерСтроки) КАК НомерСтроки
	               |	ИЗ
	               |		Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену
	               |	
	               |	ГДЕ
	               |		ОтчетПроизводстваЗаСмену.Ссылка = &СсылкаНаДокумент
	               |	
	               |	СГРУППИРОВАТЬ ПО
	               |		ОтчетПроизводстваЗаСмену.Номенклатура) КАК ВложенныйЗапрос
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	НомерСтроки";
	    ВыборкаТабПродукция = Запрос.Выполнить().Выгрузить();
        Для каждого ВыборкаСтрокПродукция Из ВыборкаТабПродукция Цикл 
        
		Если НЕ ЗначениеЗаполнено(ВыборкаСтрокПродукция.Номенклатура) Тогда
			Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
			Продолжить;
		КонецЕсли;

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

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

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



Буду очень благодарен за любую помощь!!!

Ниже приложу картинки отчета как на данный момент выводит alt1 " http://us.ua/662137%22%5Dalt1]http://us.ua/662137"]alt1 и как должно быть alt2 " http://us.ua/662138%22%5Dalt1]http://us.ua/662138"]alt1
...
Рейтинг: 0 / 0
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37714995
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergeyermak, за деньги могу помочь. Бесплатно делать вашу работу - не вариант.
...
Рейтинг: 0 / 0
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37715083
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergeyermak,

похоже вы получаете по каждому документу
-список товара
-список материалов

а хотите видимо --итоги за день

"ВЫБ Документ.ОтчетПроизводстваЗаСмену -- ДатаОтчета

Пока Выб.Следующий() Цикл
СсылкаНаДокумент = Выб.Ссылка;
///Выб Продукции ("СсылкаНаДокумент",СсылкаНаДокумент);

Товар НомерСтроки Количество Ед


///Выб Материалов

ОбластьМатериалы ("СсылкаНаДокумент",СсылкаНаДокумент);


Материал Количество Номер Ед



КонецЦикла;
...
Рейтинг: 0 / 0
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37715092
sWinTyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага ...
бюст в профиль
...
Рейтинг: 0 / 0
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37715503
sergeyermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmitriyZ,

Я не предлагаю делать за меня работу, я прошу советы и идеи, на подобу там использовать ИТОГИ ПО и тд
...
Рейтинг: 0 / 0
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37715508
sergeyermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

Я ж приложил картинки как выглядит и как должно, на них ссылки ниже, ну а так Вы правильно поняло что выводит, а где же сам совет?
...
Рейтинг: 0 / 0
Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
    #37715596
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergeyermak,

создать рабочую таблицу
товар-материал-количество

и с нее 2 отчета в сортировке
-товар-сумма(количество)
-материал-сумма(количество)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Проблемы с внешним отчетом (Общий отчет по "отчет производства за смену")
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]