Имя: Пароль:
1C
 
В карточке Партнера на закладке Общие нет поля Электронный чек в 1с ERP
☑
0 Kopchi
 
29.09.26
✎
13:40
1C ERP релиз 2.5.27.93 Для настройки отправки электронных чеков из документа Приходный кассовый ордер требуется выбрать в карточке Партнеры в поле Электронный чек, то что чек отправляется по электронной почте. Этого поля у меня нет. И второй вопрос, для вывода в бумажном варианте чека достаточно указать в карточке Партнеры на закладке Адреса и телефоны указать адрес электронной почты и телефон Покупателя. Кассу ККМ используем АТОЛ FPrint-22ПТК?
1 paramedic
 
29.09.26
✎
14:29
1. У вас включены розничные продажи?
2. У вас установлена отправка чеков по SMS и e-mail?
2 Kopchi
 
29.09.26
✎
15:27
Чтобы появилось поле Электронный чек у покупателя должен быть статус Физическое лицо, а у меня покупатель - ИП
3 PLUT
 
гуру
29.09.26
✎
16:12
(2) добавь костылики в общий модуль РозничныеПродажи (снять модуль с "замочка" или в расширение сознания пофигурации)

Процедура ЗаполнитьПараметрыОтправкиЭлектронногоЧекаПоПартнеру(Форма) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.НеОтправлять; 
	
	//{ Костыль
	Если Не ЗначениеЗаполнено(Форма.Партнер) Тогда
				
		ВариантОтправкиЭлектронногоЧека = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Форма.Контрагент.Партнер, "ВариантОтправкиЭлектронногоЧека");
		
		Форма.ВариантОтправкиЭлектронногоЧекаПартнера = ВариантОтправкиЭлектронногоЧека;
		Если Не ЗначениеЗаполнено(ВариантОтправкиЭлектронногоЧека) Тогда
			ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.НеОтправлять;
		КонецЕсли;
		
		ИсточникиКонтактнойИнформации = Новый Массив;
		ИсточникиКонтактнойИнформации.Добавить(Форма.Контрагент.Партнер);
		
		ВидыКонтактнойИнформации = Новый Массив;
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.ТелефонПартнера);
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.EmailПартнера);	 
		
		ИсточникиКонтактнойИнформации.Добавить(Форма.Контрагент); 
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.EmailКонтрагента);
		
		КонтактнаяИнформацияОбъекта = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(ИсточникиКонтактнойИнформации,, ВидыКонтактнойИнформации, ТекущаяДатаСеанса());
		
		Для Каждого ЭлементКонтактнойИнформации Из КонтактнаяИнформацияОбъекта Цикл
			
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонПартнера Тогда
				Форма.Телефон10Знаков = РозничныеПродажиКлиентСервер.НомерТелефонаВФормате10Знаков(ЭлементКонтактнойИнформации.Представление);
				Форма.Телефон = РозничныеПродажиКлиентСервер.ОтформатироватьНомерТелефона(Форма.Телефон10Знаков);
				Форма.Элементы.Телефон.СписокВыбора.Добавить(Форма.Телефон);
			КонецЕсли;
			
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.EmailПартнера Тогда
				Форма.Email = ЭлементКонтактнойИнформации.Представление;
				Форма.Элементы.Email.СписокВыбора.Добавить(Форма.Email);
			КонецЕсли;
			
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента Тогда
				Форма.Телефон10Знаков = РозничныеПродажиКлиентСервер.НомерТелефонаВФормате10Знаков(ЭлементКонтактнойИнформации.Представление);
				Форма.Телефон = РозничныеПродажиКлиентСервер.ОтформатироватьНомерТелефона(Форма.Телефон10Знаков);
				Форма.Элементы.Телефон.СписокВыбора.Добавить(Форма.Телефон);
			КонецЕсли;
			
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.EmailКонтрагента Тогда
				Форма.Email = ЭлементКонтактнойИнформации.Представление;
				Форма.Элементы.Email.СписокВыбора.Добавить(Форма.Email);
			КонецЕсли
			
		КонецЦикла;
		
		Если Форма.Элементы.Телефон.СписокВыбора.Количество() > 0 Тогда
			Форма.Элементы.Телефон.КнопкаВыпадающегоСписка = Истина;
		КонецЕсли;
		
		Если Форма.Элементы.Email.СписокВыбора.Количество() > 0 Тогда
			Форма.Элементы.Email.КнопкаВыпадающегоСписка = Истина;
		КонецЕсли;
		
	КонецЕсли;	
	//} костыль
	
	Если ЗначениеЗаполнено(Форма.Партнер) И Форма.Партнер <> Справочники.Партнеры.РозничныйПокупатель Тогда
		ВариантОтправкиЭлектронногоЧека = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Форма.Партнер,
														 Метаданные.Справочники.Партнеры.Реквизиты.ВариантОтправкиЭлектронногоЧека.Имя);
		
		ИсточникиКонтактнойИнформации = Новый Массив;
		ИсточникиКонтактнойИнформации.Добавить(Форма.Партнер);
		
		ВидыКонтактнойИнформации = Новый Массив;
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.ТелефонПартнера);
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.EmailПартнера);
		//{ костыль
		ИсточникиКонтактнойИнформации.Добавить(Форма.Контрагент); 
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
		ВидыКонтактнойИнформации.Добавить(Справочники.ВидыКонтактнойИнформации.EmailКонтрагента);
		//} костыль
		
		КонтактнаяИнформацияОбъекта = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(ИсточникиКонтактнойИнформации,, ВидыКонтактнойИнформации, ТекущаяДатаСеанса());
		
		АдресEmail = "";
		Телефон10Знаков = "";
		Телефон = "";
		Для Каждого ЭлементКонтактнойИнформации Из КонтактнаяИнформацияОбъекта Цикл
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонПартнера Тогда
				Телефон10Знаков = РозничныеПродажиКлиентСервер.НомерТелефонаВФормате10Знаков(ЭлементКонтактнойИнформации.Представление);
				Телефон = РозничныеПродажиКлиентСервер.ОтформатироватьНомерТелефона(Телефон10Знаков);
				Форма.Элементы.Телефон.СписокВыбора.Добавить(Телефон);
			КонецЕсли;
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.EmailПартнера Тогда
				АдресEmail = ЭлементКонтактнойИнформации.Представление;
				Форма.Элементы.Email.СписокВыбора.Добавить(АдресEmail);
			КонецЕсли;   
			//{ костыль
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента Тогда
				Форма.Телефон10Знаков = РозничныеПродажиКлиентСервер.НомерТелефонаВФормате10Знаков(ЭлементКонтактнойИнформации.Представление);
				Форма.Телефон = РозничныеПродажиКлиентСервер.ОтформатироватьНомерТелефона(Форма.Телефон10Знаков);
				Форма.Элементы.Телефон.СписокВыбора.Добавить(Форма.Телефон);
			КонецЕсли;
			
			Если ЭлементКонтактнойИнформации.Вид = Справочники.ВидыКонтактнойИнформации.EmailКонтрагента Тогда
				Форма.Email = ЭлементКонтактнойИнформации.Представление;
				Форма.Элементы.Email.СписокВыбора.Добавить(Форма.Email);
			КонецЕсли
			//} костыль
		КонецЦикла;
		
		Если Форма.Элементы.Телефон.СписокВыбора.Количество() > 0 Тогда
			Форма.Элементы.Телефон.КнопкаВыпадающегоСписка = Истина;
		КонецЕсли;
		
		Если Форма.Элементы.Email.СписокВыбора.Количество() > 0 Тогда
			Форма.Элементы.Email.КнопкаВыпадающегоСписка = Истина;
		КонецЕсли;
		
		Если Не ЗначениеЗаполнено(ВариантОтправкиЭлектронногоЧека) Тогда
			ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.НеОтправлять;
			Если Не ПолучитьФункциональнуюОпцию("ПечататьБумажныйЧек") Тогда
				Если Не ПустаяСтрока(АдресEmail) Тогда
					ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.ОтправитьEmail;
				ИначеЕсли Не ПустаяСтрока(Телефон10Знаков) Тогда
					ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.ОтправитьSMS;	
				КонецЕсли;
			КонецЕсли;	
		КонецЕсли;
		
		Если ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.ОтправитьEmail Тогда
			Если Не ПустаяСтрока(АдресEmail) Тогда
				Форма.Email = АдресEmail;
			КонецЕсли;
		ИначеЕсли ВариантОтправкиЭлектронногоЧека = Перечисления.ВариантыОтправкиЭлектронногоЧекаПокупателю.ОтправитьSMS Тогда
			Если Не ПустаяСтрока(Телефон10Знаков) Тогда
				Форма.Телефон10Знаков = Телефон10Знаков;
				Форма.Телефон = Телефон;
			КонецЕсли;
		КонецЕсли;

	КонецЕсли;
		
	РозничныеПродажиКлиентСервер.УстановитьВариантОтправкиЭлектронногоЧека(Форма, ВариантОтправкиЭлектронногоЧека);
	
КонецПроцедуры