Изменить отчет на основе Универсального

1. EvaMendes 17.10.17 16:22 Сейчас в теме
Доброго времени суток!
Обычно работаю с отчетами в СКД. Попалась задача: изменить типовой отчет валовая прибыль в старой УТ 10.3, добавив в него новое поле. Это Универсальный отчет. Читаю статьи, скачиваю с инфостарта пример. При изменении запроса в процедуре УстановитьНачальныеНастройки, слетают настройки использования свойств и категорий, т.е. при нажатии этой кнопки

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

Добавляю поле "Цена", в запрос, прописываю его ниже:
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Цена", "Цена ZP");

УниверсальныйОтчет.ДобавитьПоказатель("Цена", "Цена ZP  (EUR)", Истина, "ЧЦ=15; ЧДЦ=2");

Получаю ошибку: {Отчет.УниверсальныйОтчет.МодульОбъекта(2744)}: Ошибка при вызове метода контекста (Добавить) МассивВыбранныеПоляПоказатели.Добавить(ПостроительОтчета.ВыбранныеПоля.Добавить(ТекущийПоказатель.Имя));
по причине:
Поле не найдено. "Цена"
Добавляю свой параметр "Тип цены" в процедуру:
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
	
	// Перед формирование отчета можно установить необходимые параметры универсального отчета.
	Отказ = Ложь;
	УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(?(Не ЗначениеЗаполнено(УниверсальныйОтчет.ДатаКон), ТекущаяДата(), УниверсальныйОтчет.ДатаКон), Отказ);
	УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("НеВключатьНДСВСтоимостьПартий", ?(Отказ, Ложь, УчетнаяПолитика.НеВключатьНДСВСтоимостьПартий));
	УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("ТипЦены", ТипЦен);
	
	УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент);

КонецПроцедуры
Показать

В итоге ее не видно на форме...
ПС: Изменяю типовой запрос добавлением среза последних цен на позицию. Соединяю текущий запрос со срезом по номенклатуре.Добавляю одно поле в результат запроса
ПС: Во всех примерах просто не используются свойства (даже комментятся)
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВложенныйЗапрос.Организация КАК Организация,
	ВложенныйЗапрос.Проект КАК Проект,
	ВложенныйЗапрос.Подразделение КАК Подразделение,
	ВложенныйЗапрос.Покупатель КАК Покупатель,
	ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
	ВложенныйЗапрос.Номенклатура КАК Номенклатура,
	ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
	ВложенныйЗапрос.Регистратор КАК Регистратор,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация) КАК ОрганизацияПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Проект) КАК ПроектПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Подразделение) КАК ПодразделениеПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Покупатель) КАК ПокупательПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДоговорПокупателя) КАК ДоговорПокупателяПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ЗаказПокупателя) КАК ЗаказПокупателяПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление,
	ВложенныйЗапрос.Период КАК Период,
	ВложенныйЗапрос.ПериодДень КАК ПериодДень,
	ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя,
	ВложенныйЗапрос.ПериодДекада КАК ПериодДекада,
	ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц,
	ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал,
	ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие,
	ВложенныйЗапрос.ПериодГод КАК ПериодГод,
	ВложенныйЗапрос.Количество КАК Количество,
	ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов,
	ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц,
	ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС,
	ВложенныйЗапрос.НДС КАК НДС,
	ВложенныйЗапрос.Стоимость КАК Стоимость,
	ВложенныйЗапрос.Себестоимость КАК Себестоимость,
	ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль,
	ВложенныйЗапрос.Эффективность КАК Эффективность,
	ВложенныйЗапрос.Рентабельность КАК Рентабельность,
	ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗ
{ВЫБРАТЬ
	Организация.*,
	Проект.*,
	Подразделение.*,
	Покупатель.*,
	ДоговорПокупателя.*,
	Номенклатура.*,
	ХарактеристикаНоменклатуры.*,
	ЗаказПокупателя.*,
	Регистратор.*,
	Период,
	ПериодДень,
	ПериодНеделя,
	ПериодДекада,
	ПериодМесяц,
	ПериодКвартал,
	ПериодПолугодие,
	ПериодГод,
	Количество,
	КоличествоЕдиницОтчетов,
	КоличествоБазовыхЕдиниц,
	СтоимостьБезНДС,
	НДС,
	Стоимость,
	Себестоимость,
	ВаловаяПрибыль,
	Эффективность,
	Рентабельность}
ИЗ
	(ВЫБРАТЬ
		ВложенныйЗапрос.Организация КАК Организация,
		ВложенныйЗапрос.Проект КАК Проект,
		ВложенныйЗапрос.Подразделение КАК Подразделение,
		ВложенныйЗапрос.Покупатель КАК Покупатель,
		ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
		ВложенныйЗапрос.Номенклатура КАК Номенклатура,
		ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
		ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
		ВложенныйЗапрос.Регистратор КАК Регистратор,
		ВложенныйЗапрос.Период КАК Период,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод,
		СУММА(ВложенныйЗапрос.Количество) КАК Количество,
		СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов,
		СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц,
		СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС,
		СУММА(ВложенныйЗапрос.НДС) КАК НДС,
		СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость,
		СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость,
		ВЫБОР
			КОГДА &НеВключатьНДСВСтоимостьПартий
				ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
			ИНАЧЕ СУММА(ВложенныйЗапрос.Стоимость)
		КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль,
		100 * ВЫБОР
			КОГДА &НеВключатьНДСВСтоимостьПартий
				ТОГДА ВЫБОР
						КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
							ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
						ИНАЧЕ 0
					КОНЕЦ
			ИНАЧЕ ВЫБОР
					КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
						ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
					ИНАЧЕ 0
				КОНЕЦ
		КОНЕЦ КАК Эффективность,
		100 * ВЫБОР
			КОГДА &НеВключатьНДСВСтоимостьПартий
				ТОГДА ВЫБОР
						КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0
							ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
						ИНАЧЕ 0
					КОНЕЦ
			ИНАЧЕ ВЫБОР
					КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0
						ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Стоимость)
					ИНАЧЕ 0
				КОНЕЦ
		КОНЕЦ КАК Рентабельность
	{ВЫБРАТЬ
		Организация,
		Проект,
		Подразделение,
		Покупатель,
		ДоговорПокупателя,
		Номенклатура,
		ХарактеристикаНоменклатуры,
		ЗаказПокупателя,
		Регистратор,
		Период,
		ПериодДень,
		ПериодНеделя,
		ПериодДекада,
		ПериодМесяц,
		ПериодКвартал,
		ПериодПолугодие,
		ПериодГод}
	ИЗ
		(ВЫБРАТЬ
			ПродажиОбороты.Проект КАК Проект,
			ПродажиОбороты.Подразделение КАК Подразделение,
			ПродажиОбороты.Контрагент КАК Покупатель,
			ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя,
			ПродажиОбороты.Номенклатура КАК Номенклатура,
			ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
			ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
			ПродажиОбороты.Организация КАК Организация,
			ПродажиОбороты.Регистратор КАК Регистратор,
			ПродажиОбороты.Период КАК Период,
			ПродажиОбороты.КоличествоОборот КАК Количество,
			ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов,
			ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц,
			ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС,
			ПродажиОбороты.НДСОборот КАК НДС,
			ПродажиОбороты.СтоимостьОборот КАК Стоимость,
			ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость
		ИЗ
			РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Организация).* КАК Организация, (Проект).* КАК Проект, (Подразделение).* КАК Подразделение, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя}) КАК ПродажиОбороты
				ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
					ПродажиСебестоимость.Номенклатура КАК Номенклатура,
					ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
					ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
					ВЫБОР
						КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
							ТОГДА ПродажиСебестоимость.ДокументДвижения
						ИНАЧЕ ПродажиСебестоимость.Регистратор
					КОНЕЦ КАК Регистратор,
					СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
				ИЗ
					РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
				ГДЕ
					ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца
				{ГДЕ
					ПродажиСебестоимость.Проект.* КАК Проект,
					ПродажиСебестоимость.Подразделение.* КАК Подразделение,
					ПродажиСебестоимость.Номенклатура.* КАК Номенклатура,
					ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
					ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя}
				
				СГРУППИРОВАТЬ ПО
					ПродажиСебестоимость.Номенклатура,
					ПродажиСебестоимость.ХарактеристикаНоменклатуры,
					ПродажиСебестоимость.ЗаказПокупателя,
					ВЫБОР
						КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
							ТОГДА ПродажиСебестоимость.ДокументДвижения
						ИНАЧЕ ПродажиСебестоимость.Регистратор
					КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость
				ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура)
					И (ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
					И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя)
					И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор)) КАК ВложенныйЗапрос
	
	СГРУППИРОВАТЬ ПО
		ВложенныйЗапрос.Организация,
		ВложенныйЗапрос.Проект,
		ВложенныйЗапрос.Подразделение,
		ВложенныйЗапрос.Покупатель,
		ВложенныйЗапрос.ДоговорПокупателя,
		ВложенныйЗапрос.Номенклатура,
		ВложенныйЗапрос.ХарактеристикаНоменклатуры,
		ВложенныйЗапрос.ЗаказПокупателя,
		ВложенныйЗапрос.Регистратор,
		ВложенныйЗапрос.Период
	
	ИМЕЮЩИЕ
		(СУММА(ВложенныйЗапрос.Количество) <> 0
			ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0
			ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0)) <> 0)) КАК ВложенныйЗапрос
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
		ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
{ГДЕ
	ВложенныйЗапрос.Регистратор.*,
	ВложенныйЗапрос.Период,
	ВложенныйЗапрос.ПериодДень,
	ВложенныйЗапрос.ПериодНеделя,
	ВложенныйЗапрос.ПериодДекада,
	ВложенныйЗапрос.ПериодМесяц,
	ВложенныйЗапрос.ПериодКвартал,
	ВложенныйЗапрос.ПериодПолугодие,
	ВложенныйЗапрос.ПериодГод,
	ВложенныйЗапрос.Количество,
	ВложенныйЗапрос.КоличествоЕдиницОтчетов,
	ВложенныйЗапрос.КоличествоБазовыхЕдиниц,
	ВложенныйЗапрос.СтоимостьБезНДС,
	ВложенныйЗапрос.НДС,
	ВложенныйЗапрос.Стоимость,
	ВложенныйЗапрос.Себестоимость,
	ВложенныйЗапрос.ВаловаяПрибыль,
	ВложенныйЗапрос.Эффективность,
	ВложенныйЗапрос.Рентабельность}
{УПОРЯДОЧИТЬ ПО
	Организация.*,
	Проект.*,
	Подразделение.*,
	Покупатель.*,
	ДоговорПокупателя.*,
	Номенклатура.*,
	ХарактеристикаНоменклатуры.*,
	ЗаказПокупателя.*,
	Регистратор.*,
	Период,
	ПериодДень,
	ПериодНеделя,
	ПериодДекада,
	ПериодМесяц,
	ПериодКвартал,
	ПериодПолугодие,
	ПериодГод,
	Количество,
	КоличествоЕдиницОтчетов,
	КоличествоБазовыхЕдиниц,
	СтоимостьБезНДС,
	НДС,
	Стоимость,
	Себестоимость,
	ВаловаяПрибыль,
	Эффективность,
	Рентабельность}
ИТОГИ
	СУММА(Количество),
	СУММА(КоличествоЕдиницОтчетов),
	СУММА(КоличествоБазовыхЕдиниц),
	СУММА(СтоимостьБезНДС),
	СУММА(НДС),
	СУММА(Стоимость),
	СУММА(Себестоимость),
	ВЫБОР
		КОГДА &НеВключатьНДСВСтоимостьПартий
			ТОГДА СУММА(СтоимостьБезНДС)
		ИНАЧЕ СУММА(Стоимость)
	КОНЕЦ - СУММА(Себестоимость) КАК ВаловаяПрибыль,
	100 * ВЫБОР
		КОГДА &НеВключатьНДСВСтоимостьПартий
			ТОГДА ВЫБОР
					КОГДА СУММА(Себестоимость) <> 0
						ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(Себестоимость)
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СУММА(Себестоимость) <> 0
					ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Себестоимость)
				ИНАЧЕ 0
			КОНЕЦ
	КОНЕЦ КАК Эффективность,
	100 * ВЫБОР
		КОГДА &НеВключатьНДСВСтоимостьПартий
			ТОГДА ВЫБОР
					КОГДА СУММА(СтоимостьБезНДС) <> 0
						ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(СтоимостьБезНДС)
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СУММА(Стоимость) <> 0
					ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Стоимость)
				ИНАЧЕ 0
			КОНЕЦ
	КОНЕЦ КАК Рентабельность
ПО
	ОБЩИЕ
{ИТОГИ ПО
	Организация.*,
	Проект.*,
	Подразделение.*,
	Покупатель.*,
	ДоговорПокупателя.*,
	Номенклатура.*,
	ХарактеристикаНоменклатуры.*,
	ЗаказПокупателя.*,
	Регистратор.*,
	Период,
	ПериодДень,
	ПериодНеделя,
	ПериодДекада,
	ПериодМесяц,
	ПериодКвартал,
	ПериодПолугодие,
	ПериодГод}
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
7. davealone 165 18.10.17 13:32 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. davealone 165 17.10.17 17:13 Сейчас в теме +0.5 $m
Это не свойства комментируются, а куски запроса вместо которых универсальный подставит подзапросы к свойствам и категориям.
Вам нужно добавить соединение со срезом цен прямо в код (без вызова конструктора) иначе эти куски очищаются.
Либо после изменения запроса конструктором самому добавить нужные комментарии в запрос
EvaMendes; +1 Ответить
3. davealone 165 17.10.17 17:18 Сейчас в теме
Чтобы поле можно было добавить как показатель оно должно быть в агрегированных полях секции итоги, если память мне не врет.
Ну а параметр на форму, да, ручками. Сделайте реквизитом отчета чтобы был доступен и в форме и в объекте.
EvaMendes; +1 Ответить
4. EvaMendes 18.10.17 10:55 Сейчас в теме
(3) спасибо.
Все сделала: в запрос ручками добавила, прописала поля ниже
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Цена", "Цена ZP");

УниверсальныйОтчет.ДобавитьПоказатель("Цена", "Цена ZP  (EUR)", Истина, "ЧЦ=15; ЧДЦ=2");

Все равно пишет: {Отчет.УниверсальныйОтчет.МодульОбъекта(2744)}: Ошибка при вызове метода контекста (Добавить)
МассивВыбранныеПоляПоказатели.Добавить(ПостроительОтчета.ВыбранныеПоля.Добавить(ТекущийПоказатель.Имя));
по причине:
Поле не найдено. "ЦенаЗ"

Хотя

Куда дальше копать?
5. BackinSoda 18.10.17 11:05 Сейчас в теме
(4) Так поле не назначено нигде во вкладке построителя (ну и переименовать в Цена3 не забудьте)
EvaMendes; +1 Ответить
8. EvaMendes 15.01.18 16:31 Сейчас в теме
6. EvaMendes 18.10.17 12:38 Сейчас в теме
Получилось. Думала, никогда не разберусь с этими построителями отчета. Смысл до конца не поняла, задачу реализовала. Кому 50 коп кинуть-то? =) И где лучше почитать про построитель? (если вдруг попадется)
7. davealone 165 18.10.17 13:32 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот