|
В карточке Партнера на закладке Общие нет поля Электронный чек в 1с ERP Dimaster, PLUT, Доминошник, Михаил_, paramedic, scanduta, Шурик71, АНДР, Vstur, KJlag, d4rkmesa, ЕRPe, lEvGl, Ychenik1c, yzimin, Галахад, maxar, ОператорПК, kir-g, viraboy, abfm, yurikmellon2, Гипервизор, Мультук, Климов Сергей, vis, nick86, Elf_80_lvl, Kopchi
| ☑ | ||
|---|---|---|---|---|
|
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Знаков;
Форма.Телефон = Телефон;
КонецЕсли;
КонецЕсли;
КонецЕсли;
РозничныеПродажиКлиентСервер.УстановитьВариантОтправкиЭлектронногоЧека(Форма, ВариантОтправкиЭлектронногоЧека);
КонецПроцедуры |
|||
|
4
PLUT
гуру
29.09.26
✎
16:24
|
(2) и да, чтобы гиперсцылка <Пробить чек> появилась в документе, нужно чтобы Плательщик/Клеент был Физическое лицо
как вариант, добавить контрагентов=физиков, чтобы магия 1С ERP случилась и можно было пробить чек, а затем сделать документ взаимозачет задолженности между физиком и ИПшником |
|||
|
5
paramedic
29.09.26
✎
16:36
|
(2) А чеки для этого ИП вы бьете с указанием ИНН этого ИП?
|
|||
|
6
Доминошник
29.09.26
✎
16:37
|
(5) ИНН у ИП и физика - должны быть одинаковые
|
|||
|
7
PLUT
гуру
29.09.26
✎
17:05
|
(5) да, у физика и того самого ИП, который во взаимозачете задолженности участвует, чудесным образом одинаковые ИНН
но бывают и "оплаты левых лиц", когда х.й его знает кто с карты физика за ООО "рога и копыта" (с другим ИНН) оплачивает. тогда требуется песьмо от физика с просьбой зачесть оплату "левого лица" в пользу ООО "пестики и тычинки" дата подпись |
|||
|
8
paramedic
29.09.26
✎
17:20
|
(6) Вопрос прочитайте внимательно. То, что ИНН у физика и ИП одинаковые - понятно и ежу.
А вот то, что чек, пробитый для ИП (или юрика) ОБЯЗАН содержать ИНН этого ИП (или юрика) - про это все дружно забывают. (7) Не только с карты физика. При оплате с карты юрика вы никогда не определите, что это оплата от юрика. |
|||
|
9
paramedic
29.09.26
✎
17:28
|
И еще один момент: так как нет обязанности печатать чек для юриков и ИП, а чеки для них требуют специального заполнения, 1С пошли по пути наименьшего сопротивления: чеки бьются только для физиков. И это ограничение на уровне кода поставлено на интерфейсные элементы (типа ссылки "пробить чек") и на записи в регистры.
|
|||
|
10
PLUT
гуру
29.09.26
✎
17:35
|
(9) я добавил костылей в (3) для удобства бабароботам, т.к. электропочта у Контрагента обычно чаще заполнена, чем у Партнера и можно еще на телепон контрагенту=физику чек отправить, если нет мыла, но есть номер телепона
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |