IE2017

Набор внешних печатных форм и отчетов для "Розница 1" и "Розница 2.1/2.2"

Печать - Печатные формы документов

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

Набор внешних печатных форм и отчетов для "Розница 1" и "Розница 2.1"

Соответственно, на чем эксплуатирую:

1) Розница 1  (релиз 1.0.14.4) -  "Обычные формы" / "толстый клиент"

Печатные формы:

- ТТН (для документов Реализация, ПеремещениеТоваров, РасходныйОрдерНаТовары)

- УПД  (для документов Реализация)

Отчеты/Обработки:

- Отчет по выгрузке прайса по складам и выгрузкой прайса для сайта в формате ТХТ с разделителями (Код, Наименование, Цена, Остаток, Свойства).

Функционал по выгрузке прайса закоментирован - для запуска выгрузке необходимо строку кода заменить на свою:     \\Текст.Записать(константы.ИмяФайлаОбмена.Получить(),КодировкаТекста.ANSI);) - путь к каталогу  выгрузки (константы.ИмяФайлаОбмена), например: "D:\1c\pr1.txt" 

- Поиск ссылок на объект (СКД - обычные формы) 

- Отключение пользователей (файловый режим - обычные формы, 8.2)

2) Розница 2.1 (2.1.8.16) - "Управляемые формы" / "тонкий клиент"

Печатные формы:

- АктВыполненныхРабот  - документ: Возврат из ремонта

- КвитанцияОПриемеВРемонт - Документ: Прием в ремонт

- СчетНаОплату  - Документ: Заказ покупателя

- Акт сверки взаиморасчетов

Отчеты/Обработки:

- Поиск ссылок на объект (СКД - управляемые формы) 

(как появится время, дополню публикацию - наработок много, в частности, добавлю выгрузку на сайт XML с картинками для обеих версий)

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

Наименование Файл Версия Размер
Печать ТТН (внешния)
.epf 27,23Kb
29.09.16
0
.epf 27,23Kb Скачать
УПД - Реализация (внешняя)
.epf 31,77Kb
29.09.16
4
.epf 31,77Kb 4 Скачать
Поиск ссылок на объект - обычные формы
.erf 11,00Kb
29.09.16
0
.erf 11,00Kb Скачать
Поиск ссылок на объект - управляемые формы
.erf 17,27Kb
29.09.16
2
.erf 17,27Kb 2 Скачать
Отчет по Выгрузке прайса (по складам)
.epf 8,98Kb
29.09.16
1
.epf 8,98Kb 1 Скачать
Отключение пользователей - обычные формы
.epf 16,63Kb
29.09.16
0
.epf 16,63Kb Скачать
АктВыполненныхРабот - Розница 2 - док. Возврат из ремонта
.epf 13,65Kb
29.09.16
3
.epf 13,65Kb 3 Скачать
КвитанцияОПриемеВРемонт - Розница 2 (док. прием в ремонт)
.epf 15,02Kb
29.09.16
2
.epf 15,02Kb 2 Скачать
СчетНаОплату - Розница 2 - документ заказ покупателя
.epf 21,74Kb
29.09.16
3
.epf 21,74Kb 3 Скачать
Акт сверки взаиморасчетов - Розница 2
.erf 13,66Kb
06.03.17
3
.erf 13,66Kb 3 Скачать

См. также

Комментарии
1. Олег Парубец (Team leader) 8 12.07.17 18:12 Сейчас в теме
Процедура ОЗТЧ заполнения Требования остатками (БП 3.0):

&НаСервере
Процедура ЗаполнитьПоОстаткамНаСервере()
	
	
	ЗаполнитьПоОстаткамНаСкладе_2();

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


&НаСервере
Процедура ЗаполнитьПоОстаткамНаСкладе_2() 
	
	ДокументОбъект = РеквизитФормыВЗначение("Объект");
	ДокументОбъект.Материалы.Очистить();

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