1. Evgen13 09.09.19 14:49 Сейчас в теме

ОС-3

Помогите. Есть печатная форма ОС-3, для нашего филиала. В ней есть поле "Первоначальная стоимость"
Помогите его добавить на форму печати, не пойму никак.
Вот код функции печать

Функция ПечатьОС3(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)

	УстановитьПривилегированныйРежим(Истина);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб = Истина;
	ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Форма_ОС3";

	Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_ОС3");

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

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

	ПервыйДокумент = Истина;
	Шапка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");

	Пока Шапка.Следующий() Цикл

		Если НЕ ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		ПервыйДокумент = Ложь;

		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

		ВыборкаПоОС = Шапка.Выбрать();

		ВыборкаПоОС.Следующий();

		// Печать лицевой стороны.
		// Секция № 1

		ОбластьШапка.Параметры.Заполнить(ВыборкаПоОС);

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

		ПодразделениеОтветственныхЛиц = Шапка.Подразделение;

		ОтветственныеЛица = ОтветственныеЛицаБП.ОтветственныеЛица(Шапка.Организация, Шапка.Дата, ПодразделениеОтветственныхЛиц);

		ОбластьШапка.Параметры.Руководитель          = ОтветственныеЛица.РуководительПредставление;
		ОбластьШапка.Параметры.ДолжностьРуководителя = ОтветственныеЛица.РуководительДолжностьПредставление;
		ТабличныйДокумент.Вывести(ОбластьШапка);

		ДокВводаБУ  = Неопределено;
		ДатаВводаБУ = '00010101';

		ВыборкаПоОС.Сбросить();

		Пока ВыборкаПоОС.Следующий() Цикл

			СтрокаТаблицы.Параметры.Заполнить(ВыборкаПоОС);
			УчетОС.ПолучитьДокументБухСостоянияОС(ВыборкаПоОС.ОсновноеСредство, Шапка.Организация,
				Перечисления.СостоянияОС.ПринятоКУчету, ДокВводаБУ, ДатаВводаБУ);

			СтрокаТаблицы.Параметры.СрокЭкспл = ?(НЕ ЗначениеЗаполнено(ВыборкаПоОС.СрокЭксплуатации), "-",
				Строка(ВыборкаПоОС.СрокЭксплуатации) + " мес.");

			СтрокаТаблицы.Параметры.ВосстановительнаяСтоимостьПеч = ВыборкаПоОС.СтоимостьБУ;

			ТабличныйДокумент.Вывести(СтрокаТаблицы);

		КонецЦикла;
		
		// Секция № 2

		ТабличныйДокумент.Вывести(ОбластьШапка2);

		ВыборкаПоОС.Сбросить();
		Пока ВыборкаПоОС.Следующий() Цикл
			СтрокаТаблицы2.Параметры.Заполнить(ВыборкаПоОС);
			ТабличныйДокумент.Вывести(СтрокаТаблицы2);
		КонецЦикла;

		ПодвалДокумента.Параметры.ИтогоСуммаЗатрат = Шапка.СуммаЗатрат;

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

		ТабличныйДокумент.Вывести(ПодвалДокумента);

		// Печать оборотной стороны.
		ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		ОбластьПечати.Параметры.ГлавБух = ОтветственныеЛица.ГлавныйБухгалтерПредставление;
		ТабличныйДокумент.Вывести(ОбластьПечати);

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

	КонецЦикла;

	Возврат ТабличныйДокумент;

КонецФункции
Показать
Вознаграждение за ответ
Показать полностью
Найденные решения
12. 603692 1 10.09.19 08:20 Сейчас в теме +0.3 $m
(10) вы в запросе этот Реквизит вывели в первой группировке - так он будет доступен при заполнении Шапки, а нужно во второй.....
ВЫБРАТЬ
ДокументМодернизацияОС.Ссылка КАК Ссылка,
ДокументМодернизацияОС.Организация КАК Организация,
МодернизацияОСОС.ОсновноеСредство КАК ОсновноеСредство,
МодернизацияОСОС.ОсновноеСредство.Наименование КАК НаимОС,
МодернизацияОСОС.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
МодернизацияОСОС.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
МодернизацияОСОС.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
ВЫБОР
КОГДА ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации - МодернизацияОСОС.СуммаМодернизацииБУ
КОНЕЦ КАК СтоимостьБУ,
МодернизацияОСОС.СуммаМодернизацииБУ КАК СуммаЗатрат,
МодернизацияОСОС.НомерСтроки КАК НомерСтроки,
МодернизацияОСОС.НомерСтроки КАК ПорядковыйНомер,
МАКСИМУМ(ПервоначальныеСведенияОСБухгалтерскийУчет.Период) КАК МаксДата,
СостоянияОСОрганизаций.Период КАК МаксДатаСостояния
ПОМЕСТИТЬ МодернизацияОСОС
ИЗ
Документ.МодернизацияОС КАК ДокументМодернизацияОС
ЛЕВОЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК МодернизацияОСОС
ПО ДокументМодернизацияОС.Ссылка = МодернизацияОСОС.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет КАК ПервоначальныеСведенияОСБухгалтерскийУчет
ПО (МодернизацияОСОС.ОсновноеСредство = ПервоначальныеСведенияОСБухгалтерскийУчет.ОсновноеСредство)
И (МодернизацияОСОС.Ссылка.Дата >= ПервоначальныеСведенияОСБухгалтерскийУчет.Период)
И (МодернизацияОСОС.Ссылка.Организация = ПервоначальныеСведенияОСБухгалтерскийУчет.Организация)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
ПО (МодернизацияОСОС.Ссылка.Организация = СостоянияОСОрганизаций.Организация)
И (МодернизацияОСОС.ОсновноеСредство = СостоянияОСОрганизаций.ОсновноеСредство)
И (МодернизацияОСОС.Ссылка.Дата >= СостоянияОСОрганизаций.Период)
И (СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету))
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыАмортизацииОСБухгалтерскийУчет КАК ПараметрыАмортизацииОСБухгалтерскийУчет
ПО (МодернизацияОСОС.Ссылка = ПараметрыАмортизацииОСБухгалтерскийУчет.Регистратор)
И (МодернизацияОСОС.ОсновноеСредство = ПараметрыАмортизацииОСБухгалтерскийУчет.ОсновноеСредство)
ГДЕ
ДокументМодернизацияОС.Ссылка В(&МассивОбъектов)

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

ИНДЕКСИРОВАТЬ ПО
ОсновноеСредство,
Организация
;

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

УПОРЯДОЧИТЬ ПО
Дата,
Ссылка,
ПорядковыйНомер
ИТОГИ
СУММА(СтоимостьБУ),
СУММА(СуммаЗатрат),
СУММА(СрокЭксплуатации)
ПО
Ссылка
Остальные ответы
Избранное Подписка Сортировка: Древо
6. 603692 1 10.09.19 07:13 Сейчас в теме
(1) В Запросе этот реквизит вы добавили - " | ПервоначальныеСведенияОСБухгалтерскийУчет.ПервоначальнаяСтоимость КАК ПервоначальнаяСтоимость"
Далее:
Пока ВыборкаПоОС.Следующий() Цикл
СтрокаТаблицы.Параметры.Заполнить(ВыборкаПоОС);
......
Нужно чтобы в макете печатной формы Параметр так же назывался - ПервоначальнаяСтоимость - и он заполнится автоматически.
7. Evgen13 10.09.19 07:47 Сейчас в теме
8. Evgen13 10.09.19 07:48 Сейчас в теме
(6)

{ВнешняяОбработка.ВПФ_ОС3.МодульОбъекта(252)}: Поле объекта не обнаружено (ПервоначальнаяСтоимость)
СтрокаТаблицы.Параметры.ПервоначальнаяСтоимость = ВыборкаПоОС.ПервоначальнаяСтоимость;
9. 603692 1 10.09.19 07:55 Сейчас в теме
(8)СтрокаТаблицы = Макет.ПолучитьОбласть("Строка1");
Этот Параметр в макете в области Строка1???
10. Evgen13 10.09.19 07:59 Сейчас в теме
12. 603692 1 10.09.19 08:20 Сейчас в теме +0.3 $m
(10) вы в запросе этот Реквизит вывели в первой группировке - так он будет доступен при заполнении Шапки, а нужно во второй.....
ВЫБРАТЬ
ДокументМодернизацияОС.Ссылка КАК Ссылка,
ДокументМодернизацияОС.Организация КАК Организация,
МодернизацияОСОС.ОсновноеСредство КАК ОсновноеСредство,
МодернизацияОСОС.ОсновноеСредство.Наименование КАК НаимОС,
МодернизацияОСОС.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
МодернизацияОСОС.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
МодернизацияОСОС.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
ВЫБОР
КОГДА ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации - МодернизацияОСОС.СуммаМодернизацииБУ
КОНЕЦ КАК СтоимостьБУ,
МодернизацияОСОС.СуммаМодернизацииБУ КАК СуммаЗатрат,
МодернизацияОСОС.НомерСтроки КАК НомерСтроки,
МодернизацияОСОС.НомерСтроки КАК ПорядковыйНомер,
МАКСИМУМ(ПервоначальныеСведенияОСБухгалтерскийУчет.Период) КАК МаксДата,
СостоянияОСОрганизаций.Период КАК МаксДатаСостояния
ПОМЕСТИТЬ МодернизацияОСОС
ИЗ
Документ.МодернизацияОС КАК ДокументМодернизацияОС
ЛЕВОЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК МодернизацияОСОС
ПО ДокументМодернизацияОС.Ссылка = МодернизацияОСОС.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет КАК ПервоначальныеСведенияОСБухгалтерскийУчет
ПО (МодернизацияОСОС.ОсновноеСредство = ПервоначальныеСведенияОСБухгалтерскийУчет.ОсновноеСредство)
И (МодернизацияОСОС.Ссылка.Дата >= ПервоначальныеСведенияОСБухгалтерскийУчет.Период)
И (МодернизацияОСОС.Ссылка.Организация = ПервоначальныеСведенияОСБухгалтерскийУчет.Организация)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
ПО (МодернизацияОСОС.Ссылка.Организация = СостоянияОСОрганизаций.Организация)
И (МодернизацияОСОС.ОсновноеСредство = СостоянияОСОрганизаций.ОсновноеСредство)
И (МодернизацияОСОС.Ссылка.Дата >= СостоянияОСОрганизаций.Период)
И (СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету))
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыАмортизацииОСБухгалтерскийУчет КАК ПараметрыАмортизацииОСБухгалтерскийУчет
ПО (МодернизацияОСОС.Ссылка = ПараметрыАмортизацииОСБухгалтерскийУчет.Регистратор)
И (МодернизацияОСОС.ОсновноеСредство = ПараметрыАмортизацииОСБухгалтерскийУчет.ОсновноеСредство)
ГДЕ
ДокументМодернизацияОС.Ссылка В(&МассивОбъектов)

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

ИНДЕКСИРОВАТЬ ПО
ОсновноеСредство,
Организация
;

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

УПОРЯДОЧИТЬ ПО
Дата,
Ссылка,
ПорядковыйНомер
ИТОГИ
СУММА(СтоимостьБУ),
СУММА(СуммаЗатрат),
СУММА(СрокЭксплуатации)
ПО
Ссылка
13. Evgen13 10.09.19 08:36 Сейчас в теме
(12)
ВЫБРАТЬ
ДокументМодернизацияОС.Ссылка КАК Ссылка,
ДокументМодернизацияОС.Организация КАК Организация,
МодернизацияОСОС.ОсновноеСредство КАК ОсновноеСредство,
МодернизацияОСОС.ОсновноеСредство.Наименование КАК НаимОС,
МодернизацияОСОС.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
МодернизацияОСОС.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
МодернизацияОСОС.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
ВЫБОР
КОГДА ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации - МодернизацияОСОС.СуммаМодернизацииБУ
КОНЕЦ КАК СтоимостьБУ,
МодернизацияОСОС.СуммаМодернизацииБУ КАК СуммаЗатрат,
МодернизацияОСОС.НомерСтроки КАК НомерСтроки,
МодернизацияОСОС.НомерСтроки КАК ПорядковыйНомер,
МАКСИМУМ(ПервоначальныеСведенияОСБухгалтерскийУчет.Период) КАК МаксДата,
СостоянияОСОрганизаций.Период КАК МаксДатаСостояния
ПОМЕСТИТЬ МодернизацияОСОС
ИЗ
Документ.МодернизацияОС КАК ДокументМодернизацияОС
ЛЕВОЕ СОЕДИНЕНИЕ Документ.МодернизацияОС.ОС КАК МодернизацияОСОС
ПО ДокументМодернизацияОС.Ссылка = МодернизацияОСОС.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет КАК ПервоначальныеСведенияОСБухгалтерскийУчет
ПО (МодернизацияОСОС.ОсновноеСредство = ПервоначальныеСведенияОСБухгалтерскийУчет.ОсновноеСредство)
И (МодернизацияОСОС.Ссылка.Дата >= ПервоначальныеСведенияОСБухгалтерскийУчет.Период)
И (МодернизацияОСОС.Ссылка.Организация = ПервоначальныеСведенияОСБухгалтерскийУчет.Организация)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
ПО (МодернизацияОСОС.Ссылка.Организация = СостоянияОСОрганизаций.Организация)
И (МодернизацияОСОС.ОсновноеСредство = СостоянияОСОрганизаций.ОсновноеСредство)
И (МодернизацияОСОС.Ссылка.Дата >= СостоянияОСОрганизаций.Период)
И (СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету))
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыАмортизацииОСБухгалтерскийУчет КАК ПараметрыАмортизацииОСБухгалтерскийУчет
ПО (МодернизацияОСОС.Ссылка = ПараметрыАмортизацииОСБухгалтерскийУчет.Регистратор)
И (МодернизацияОСОС.ОсновноеСредство = ПараметрыАмортизацииОСБухгалтерскийУчет.ОсновноеСредство)
ГДЕ
ДокументМодернизацияОС.Ссылка В(&МассивОбъектов)

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

ИНДЕКСИРОВАТЬ ПО
ОсновноеСредство,
Организация
;

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

УПОРЯДОЧИТЬ ПО
Дата,
Ссылка,
ПорядковыйНомер
ИТОГИ
СУММА(СтоимостьБУ),
СУММА(СуммаЗатрат),
СУММА(СрокЭксплуатации)
ПО
Ссылка
Показать

А подскажи, пожалуйста, еще. Нужно сложить первоначальную стоимость и плюс итоговую стоимость амортизации, как это осуществить?
14. Evgen13 10.09.19 08:41 Сейчас в теме
(12)
Не надо, сделал сам. Спасибо большое тебе!
11. Evgen13 10.09.19 08:08 Сейчас в теме
(9)
Первоначальную стоимость он берет из регистра сведений "Первоначальные сведения ОС" а там в каждом объекте еще много чего забито, поэтому он и не цепляется.
а из инвентарной карточки взять нельзя, потому что там нет объекта "ПервоначальнаяСтоимость" это поле ввода
2. Evgen13 09.09.19 15:22 Сейчас в теме
3. Evgen13 09.09.19 15:48 Сейчас в теме
Непонятно наверно выразился. В типовой конфигурации в ОС- 3 есть поле "Восстановительная (остаточная) стоимость" , а у нас она называется первоначальная стоимость и в эту строку должна помещаться первоначальная стоимость объекта из Основных средств.
Помогите пожалуйста так сделать
4. Sonnya1909 10.09.19 04:28 Сейчас в теме
5. Sonnya1909 10.09.19 04:44 Сейчас в теме
Вообще с модернизацией печатных форм на любых конфигурациях есть несколько путей:
1) Пользовательское редактирование: Зайти в макеты печатных форм и нужный макет редактировать. Но в этом способе есть свои ограничения (Например состав добавляемых полей) (Тут скорее всего это не подойдет, но попробуйте)
2) Программное редактирование:
2.1) Добавить в макете место и параметр для поля "ПервоначальнаяСтоимость"
2.2) Добавить в запрос "ПервоначальнаяСтоимость"
2.3) Заполнить параметр в цикле ВыборкаПоОС. (Если Имя параметр(2.1) и идентификатор в запросе(2.2) будут совпадать - оно само будет заполняться)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день


Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 150 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству