Старый 26.09.2018, 12:54   #1
McLoren
Новичок
 
Регистрация: 29.01.2013
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
McLoren пока не определено
По умолчанию ПОТРІБНА зовнішня обробка табеля обліку робочого часу

Доброго дня. Для конфігурації бази 8.3. потрібна зовнішня обробка табеля обліку робочого часу для "Бухгалтерія для України" (базова), редакція 1.2 друкована форма.
В конфігурації є тільки бланк наскільки я розумію, і він автоматично не заповняється

Последний раз редактировалось McLoren; 26.09.2018 в 13:24.
McLoren вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
inna23 (18.10.2018)
Старый 26.11.2018, 11:57   #2
Анна_1С
Новичок
 
Регистрация: 22.05.2017
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Анна_1С пока не определено
По умолчанию

Доброго дня! так і не знайшли обробку? Теж шукаю...
Анна_1С вне форума   Ответить с цитированием
Старый 26.11.2018, 14:15   #3
barul4ik
Новичок
 
Регистрация: 01.03.2012
Сообщений: 17
Сказал(а) спасибо: 3
Поблагодарили 9 раз(а) в 4 сообщениях
barul4ik пока не определено
По умолчанию

Попробуйте. Подключается как внешняя печатная форма к документу Начисление зарплаты.
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
barul4ik вне форума   Ответить с цитированием
5 пользователя(ей) сказали cпасибо:
Показать/Скрыть список поблагодаривших
Старый 26.11.2018, 14:46   #4
Анна_1С
Новичок
 
Регистрация: 22.05.2017
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Анна_1С пока не определено
По умолчанию

Спасибо огромное! Вы меня спасли! Все работает
Анна_1С вне форума   Ответить с цитированием
Старый 01.12.2018, 08:06   #5
Milena_d
Новичок
 
Регистрация: 23.01.2017
Сообщений: 3
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Milena_d пока не определено
По умолчанию

Спасибо огромное.
Milena_d вне форума   Ответить с цитированием
Старый 04.12.2018, 13:15   #6
nataxs
Новичок
 
Регистрация: 06.11.2014
Сообщений: 11
Сказал(а) спасибо: 5
Поблагодарили 1 раз в 1 сообщении
nataxs пока не определено
По умолчанию

Цитата:
Сообщение от barul4ik Посмотреть сообщение
Попробуйте. Подключается как внешняя печатная форма к документу Начисление зарплаты.
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
продублируйте ссылку, плиз, уже не существует
nataxs вне форума   Ответить с цитированием
Старый 04.12.2018, 16:54   #7
pelech
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 31
Сказал(а) спасибо: 27
Поблагодарили 18 раз(а) в 10 сообщениях
pelech пока не определено
По умолчанию

[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]

только если вы зарегистрированы
pelech вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Alen55 (06.12.2018), nataxs (05.12.2018), Originalne (07.12.2018)
Старый 12.12.2018, 13:11   #8
m30
Новичок
 
Регистрация: 02.02.2011
Сообщений: 8
Сказал(а) спасибо: 18
Поблагодарили 0 раз(а) в 0 сообщениях
m30 пока не определено
По умолчанию

Если не сложно, продублируйте файл? ссылка не действительна (хоть я и зарегистрировалась)
m30 вне форума   Ответить с цитированием
Старый 12.12.2018, 21:49   #9
fastiv
Новичок
 
Регистрация: 26.08.2012
Сообщений: 12
Сказал(а) спасибо: 28
Поблагодарили 123 раз(а) в 6 сообщениях
fastiv пока не определено
По умолчанию

Если не сложно, продублируйте файл? ссылка не действительна (и мне)
fastiv вне форума   Ответить с цитированием
Старый 16.12.2018, 15:06   #10
Ант
Новичок
 
Регистрация: 23.11.2015
Сообщений: 1
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Ант пока не определено
По умолчанию

Цитата:
Сообщение от Анна_1С Посмотреть сообщение
Спасибо огромное! Вы меня спасли! Все работает
Анна, вышлите, пожалуйста, эту обработку на [email protected], т.к. ссылка не активна
Спасибо!
Ант вне форума   Ответить с цитированием
Старый 16.12.2018, 17:02   #11
fastiv
Новичок
 
Регистрация: 26.08.2012
Сообщений: 12
Сказал(а) спасибо: 28
Поблагодарили 123 раз(а) в 6 сообщениях
fastiv пока не определено
По умолчанию

Цитата:
Сообщение от Ант Посмотреть сообщение
Анна, вышлите, пожалуйста, эту обработку на [email protected], т.к. ссылка не активна
Спасибо!
и мне [email protected]
fastiv вне форума   Ответить с цитированием
Старый 25.12.2018, 21:05   #12
m30
Новичок
 
Регистрация: 02.02.2011
Сообщений: 8
Сказал(а) спасибо: 18
Поблагодарили 0 раз(а) в 0 сообщениях
m30 пока не определено
По умолчанию

Цитата:
Сообщение от fastiv Посмотреть сообщение
присоединяюсь: [email protected]
m30 вне форума   Ответить с цитированием
Старый 04.01.2019, 10:08   #13
zewsergiy
Новичок
 
Регистрация: 02.10.2012
Сообщений: 8
Сказал(а) спасибо: 5
Поблагодарили 31 раз(а) в 5 сообщениях
zewsergiy пока не определено
По умолчанию

присоединяюсь: [email protected]
zewsergiy вне форума   Ответить с цитированием
Старый 07.01.2019, 16:42   #14
dtai39
Новичок
 
Регистрация: 07.12.2018
Сообщений: 4
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
dtai39 пока не определено
Отправить сообщение для dtai39 с помощью Skype™
По умолчанию

Добрый день. Подскажите нуждаюсь в правке внешняя печатная форма счет для покупателя для 1С8.3 конфигурация бухгалтерия 2.0.
Есть такая обработка для конфигурации бухгалтерия 1.2. - не запускается на 2,0.

как поправить, чтобы заработало на 2.0
Код:
Перем мВалютаРегламентированногоУчета Экспорт;


Функция СведенияОВнешнейОбработке()
	ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.СчетНаОплатуПокупателю"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... 
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату (шаблон)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0"); 
ПараметрыРегистрации.Вставить("Информация", "Эту ВПФ мы сделали для того что бы посмотреть возможности БСП "); 
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Счет на оплату (шаблон)", "СчетНаОпл", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;
КонецФункции

Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление; 
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

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

//Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
//
//УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетНаОпл", "Счет на оплату (шаблон)", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
//таблдос =  СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати);
//КонецПроцедуры // Печать()
Функция Печать() Экспорт
	
	// Получить экземпляр документа на печать
	//Если ИмяМакета = "Счет" Тогда
	Тип = "Счет";	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
	Запрос.Текст ="
	|ВЫБРАТЬ
	|	Номер,
	|	Дата,
	|	ДоговорКонтрагента,
	|	ДоговорКонтрагента.Дата  		КАК ДоговорДата,
	|	ДоговорКонтрагента.Номер 		КАК ДоговорНомер,
	|	ДоговорКонтрагента.НаименованиеДляПечати КАК ДоговорНаименованиеДляПечати,
	|	ДоговорКонтрагента.ВидДоговора  КАК ВидДоговораКонтрагента,
	|	Ответственный.ФизЛицо.Наименование КАК Отпустил,
	|	Организация,
	|	Контрагент КАК Покупатель,
	|	Организация КАК Поставщик,
	|	СуммаДокумента,
	|	ВалютаДокумента,
	|	УчитыватьНДС,
	|	СуммаВключаетНДС
	|ИЗ
	|	Документ.СчетНаОплатуПокупателю КАК ЗаказПокупателя
	|
	|ГДЕ
	|	ЗаказПокупателя.Ссылка = &ТекущийДокумент";

	Шапка = Запрос.Выполнить().Выбрать();
	Шапка.Следующий();

	ТабДокумент = Новый ТабличныйДокумент;
	ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";

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

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

	// печать производится на языке, указанном в настройках пользователя
	КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
	Макет.КодЯзыкаМакета = КодЯзыкаПечать;
	
	// Выводим шапку накладной
	СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата,,,КодЯзыкаПечать);
	СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата,,,КодЯзыкаПечать);
	
//	ОбластьМакета = Макет.ПолучитьОбласть("Логотип");
//	ТабДокумент.Вывести(ОбластьМакета);
	
//	Если Тип = "Счет" Тогда
//		ОбластьМакета       						= Макет.ПолучитьОбласть("ЗаголовокСчета");
//		ОбластьМакета.Параметры.НазваниеОрганизации = СведенияОПоставщике.ПолноеНаименование;
//		ОбластьМакета.Параметры.ЕДРПОУОрганизации	= УправлениеКонтактнойИнформацией.ПолучитьКодОрганизации(СведенияОПоставщике);
		Если ТипЗнч(СсылкаНаОбъект.СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
			Банк		= СсылкаНаОбъект.СтруктурнаяЕдиница.Банк;
			МФО	 		= Банк.Код;
			НомерСчета 	= СсылкаНаОбъект.СтруктурнаяЕдиница.НомерСчета;
		Иначе
			// покажем банковские реквизиты основного счета организации
			Банк		= СведенияОПоставщике.Банк;
			МФО	 		= СведенияОПоставщике.МФО;
			НомерСчета 	= СведенияОПоставщике.НомерСчета;
		КонецЕсли;
//		
//		ОбластьМакета.Параметры.БанкОрганизации					= Банк;
//		ОбластьМакета.Параметры.МФОБанкаОрганизации	            = МФО;
//		ОбластьМакета.Параметры.НомерРасчетногоСчетаОрганизации = НомерСчета;
			
//		Если  НЕ Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером  
//			И НЕ Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета Тогда
//			ТабДокумент.Вывести(ОбластьМакета);
//		КонецЕсли;
//	КонецЕсли; 
	

	ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
	Если Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером  Тогда
		ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Список товаров на комиссию';uk='Список товарів на комісію'",КодЯзыкаПечать),КодЯзыкаПечать);
	Иначе	
		ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Счет на оплату';uk='Рахунок на оплату'",КодЯзыкаПечать),КодЯзыкаПечать);
	КонецЕсли; 
	
	ТабДокумент.Вывести(ОбластьМакета);

	ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
	ОбластьМакета.Параметры.Заполнить(Шапка);
	ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,",,КодЯзыкаПечать);	
	//Если Тип = "Счет" Тогда
	ОбластьМакета.Параметры.РеквизитыПоставщика =  НСтр("ru='Т/с ';uk='П/р '",КодЯзыкаПечать) + НомерСчета + НСтр("ru=', Банк ';uk=', Банк '",КодЯзыкаПечать) + Банк + НСтр("ru=', МФО ';uk=', МФО '",КодЯзыкаПечать) + МФО + Символы.ПС + 
													ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
	ОбластьМакета.Параметры.ПлатитНалог = НСтр("ru='Является плательщиком налога на общих условиях';uk='Є платником податку на загальних умовах'",КодЯзыкаПечать);												
	//КонецЕсли;
    ТабДокумент.Вывести(ОбластьМакета);
	
	ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
	ОбластьМакета.Параметры.Заполнить(Шапка);
 	ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование,",,КодЯзыкаПечать);
	ОбластьМакета.Параметры.РеквизитыПокупателя		= ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе,"Телефоны,",,КодЯзыкаПечать);
	ТабДокумент.Вывести(ОбластьМакета);

	// Выводим дополнительно информацию о договоре и сделке
	СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
	МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать);
	ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
    Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
		ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
		ТабДокумент.Вывести(ОбластьМакета);
	КонецЦикла;
	
	// Вывести табличную часть
	ОбластьИтого = "Итого";
	
	ЕстьСкидки = (ЗапросТовары.Итог("СуммаСкидки") <> 0);
	
	ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
	Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
		ВыводитьКоды = Истина;
		Колонка = "Артикул";
	ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
		ВыводитьКоды = Истина;
		Колонка = "Код";
	Иначе
		ВыводитьКоды = Ложь;
	КонецЕсли;
	
	ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
	ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
	ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
    ОбластьСкидка = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
	ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
    
	ТабДокумент.Вывести(ОбластьНомера);
	Если ВыводитьКоды Тогда
		ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
		ТабДокумент.Присоединить(ОбластьКодов);
	КонецЕсли;
	
	Суффикс = "";
	Если Шапка.УчитыватьНДС Тогда
		Если Шапка.СуммаВключаетНДС Тогда
			Суффикс  = Суффикс  + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать);
		Иначе	
			Суффикс  = Суффикс  + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать);
		КонецЕсли;
		Суффикс = Суффикс  + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать);
	КонецЕсли;
	ОбластьДанных.Параметры.Цена  = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс;
	ТабДокумент.Присоединить(ОбластьДанных);
	Если ЕстьСкидки Тогда
		ТабДокумент.Присоединить(ОбластьСкидка);
	КонецЕсли;
	ОбластьСуммы.Параметры.СрокПоставки =  НСтр("ru=' Срок поставки, нед. ';uk=' Термін постачання, тижн.'",КодЯзыкаПечать);

	
	ОбластьСуммы.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс;
	ТабДокумент.Присоединить(ОбластьСуммы);
	//ТабДокумент.Вывести(ОбластьМакета);
	
	ОбластьКолонкаТовар = Макет.Область("Товар");
	Если Не ВыводитьКоды Тогда
		ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + 
											Макет.Область("КолонкаКодов").ШиринаКолонки;
	КонецЕсли;
	Если НЕ ЕстьСкидки Тогда
		ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + 
											Макет.Область("СуммаБезСкидки").ШиринаКолонки +
											Макет.Область("СуммаСкидки").ШиринаКолонки;
	КонецЕсли;
	
	СуммаБезСкидки	= 0;
	СуммаСкидки 	= 0;
	Сумма    		= 0;
	СуммаНДС 		= 0;
	
	ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
	ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
	ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
	ОбластьСкидки = Макет.ПолучитьОбласть("Строка|Скидка");
	ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");

	Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл 

		Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
			Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
			Продолжить;
		КонецЕсли;


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

		ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
		ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар);
		ТабДокумент.Присоединить(ОбластьДанных);

		Если ЕстьСкидки Тогда
			ОбластьСкидки.Параметры.Заполнить(ВыборкаСтрокТовары);
			ТабДокумент.Присоединить(ОбластьСкидки);
		КонецЕсли;

		ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары);
		ТабДокумент.Присоединить(ОбластьСуммы);
		
		СуммаБезСкидки = СуммаБезСкидки + ВыборкаСтрокТовары.СуммаБезСкидки;
		СуммаСкидки    = СуммаСкидки    + ВыборкаСтрокТовары.СуммаСкидки;
		Сумма          = Сумма       	+ ВыборкаСтрокТовары.Сумма;
		СуммаНДС       = СуммаНДС    	+ ВыборкаСтрокТовары.СуммаНДС;

	КонецЦикла;

	// Вывести Итого
	ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
	ОбластьКодов  = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
	ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
	ОбластьСкидки = Макет.ПолучитьОбласть("Итого|Скидка");
	ОбластьСуммы  = Макет.ПолучитьОбласть("Итого|Сумма");
	
	ТабДокумент.Вывести(ОбластьНомера);
	Если ВыводитьКоды Тогда
		ТабДокумент.Присоединить(ОбластьКодов);
	КонецЕсли;
	ТабДокумент.Присоединить(ОбластьДанных);
	
	Если ЕстьСкидки Тогда
		ОбластьСкидки.Параметры.ВсегоСуммаБезСкидки = ОбщегоНазначения.ФорматСумм(СуммаБезСкидки);		
		ОбластьСкидки.Параметры.ВсегоСуммаСкидки    = ОбщегоНазначения.ФорматСумм(СуммаСкидки);
		ТабДокумент.Присоединить(ОбластьСкидки);
	КонецЕсли;
	
	ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
	ТабДокумент.Присоединить(ОбластьСуммы);

	// Вывести ИтогоНДС
	Если Шапка.УчитыватьНДС Тогда
		// НДС
		ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
		ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС,,"""");
		ОбластьМакета.Параметры.НДС      = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать));
		ТабДокумент.Вывести(ОбластьМакета);
		
		// всего с НДС (если сумма не включает НДС)
		Если НЕ Шапка.СуммаВключаетНДС Тогда
			ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
			ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС);
			ОбластьМакета.Параметры.НДС      = НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать);
			ТабДокумент.Вывести(ОбластьМакета);
		КонецЕсли;
	КонецЕсли;

	// выведем таблицу с возвратной тарой
	Если ЗапросТара.Количество() > 0 Тогда
		// сделаем отступ от основной таблицы
		ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
		ТабДокумент.Вывести(ОбластьПробел);
		
		ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыТара|НомерСтрокиТара");
		ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицыТара|КолонкаКодовТара");
		ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыТара|ДанныеТара");
		
		ТабДокумент.Вывести(ОбластьНомера);
		Если ВыводитьКоды Тогда
			ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
			ТабДокумент.Присоединить(ОбластьКодов);
		КонецЕсли;
		ТабДокумент.Присоединить(ОбластьДанных);
		
		ОбластьКолонкаТара = Макет.Область("Тара");
		Если Не ВыводитьКоды Тогда
			ОбластьКолонкаТара.ШиринаКолонки = ОбластьКолонкаТара.ШиринаКолонки + 
			Макет.Область("КолонкаКодовТара").ШиринаКолонки;
		КонецЕсли;
		
        ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТара|НомерСтрокиТара");
		ОбластьКодов  = Макет.ПолучитьОбласть("СтрокаТара|КолонкаКодовТара");
		ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТара|ДанныеТара");
		
		СуммаТара    = 0;
		
		Для каждого ВыборкаСтрокТара Из ЗапросТара Цикл 
			
			Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда
				Сообщить(НСтр("ru='В одной из строк не заполнено значение тары - строка при печати пропущена.';uk='В одному з рядків не заповнене значення тари - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
				Продолжить;
			КонецЕсли;
			
			ОбластьНомера.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1;
			ТабДокумент.Вывести(ОбластьНомера);
			
			Если ВыводитьКоды Тогда
				Если Колонка = "Артикул" Тогда
					ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул;
				Иначе
					ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код;
				КонецЕсли;
				ТабДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			
			ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТара);
			ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТара.Товар);
			ТабДокумент.Присоединить(ОбластьДанных);
		
			СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма;
			
			
		КонецЦикла;
		
		// Вывести Итого
		ОбластьМакета = Макет.ПолучитьОбласть("ИтогоТара");
		ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(СуммаТара);
		ТабДокумент.Вывести(ОбластьМакета);
		
		// сделаем отступ 
		ТабДокумент.Вывести(ОбластьПробел);
	КонецЕсли;
	
	// Вывести Сумму прописью
	ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
	СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
	ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru='Всего наименований ';uk='Всього найменувань '",КодЯзыкаПечать) + ЗапросТовары.Количество() + "," +
											 НСтр("ru=' на сумму ';uk=' на суму '",КодЯзыкаПечать)  + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента)
											 + ?(ЗапросТара.Количество() = 0, "",  НСтр("ru='; возвратная тара ';uk='; зворотна тара '",КодЯзыкаПечать) + ЗапросТара.Количество() + НСтр("ru=', на сумму ';uk=', на суму '",КодЯзыкаПечать) + ОбщегоНазначения.ФорматСумм(СуммаТара, Шапка.ВалютаДокумента)) + ".";
											 
	ОбластьМакета.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента,КодЯзыкаПечать)
	 										 + ?(НЕ Шапка.УчитыватьНДС, "", Символы.ПС + НСтр("ru='В т.ч. НДС: ';uk='У т.ч. ПДВ: '",КодЯзыкаПечать) + ОбщегоНазначения.СформироватьСуммуПрописью(СуммаНДС, Шапка.ВалютаДокумента, КодЯзыкаПечать));

	ТабДокумент.Вывести(ОбластьМакета);

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

	
		ОбластьМакета= Макет.ПолучитьОбласть("Подвал");
		ОбластьМакета.Параметры.СрокДействияСчета = НСтр("ru='Счет действителен к оплате в течении трех банковских дней ';uk='Рахунок дійсний до сплати протягом трьох банківських днів '",КодЯзыкаПечать);
		ТабДокумент.Вывести(ОбластьМакета);

	Возврат ТабДокумент;	
	//КонецЕсли;
	
	//УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект, ""), НепосредственнаяПечать);
	
КонецФункции // Печать

Последний раз редактировалось dtai39; 07.01.2019 в 18:06.
dtai39 вне форума   Ответить с цитированием
Старый 17.01.2019, 11:36   #15
NicciN
Новичок
 
Регистрация: 30.11.2013
Сообщений: 2
Сказал(а) спасибо: 51
Поблагодарили 0 раз(а) в 0 сообщениях
NicciN пока не определено
По умолчанию

Добрый день. Пожалуйста, киньте внешний отчет на почту [email protected]. Заранее спасибо
NicciN вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:36. Часовой пояс GMT +1.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc. Перевод: zCarot

Яндекс.Метрика