Не пробивается чек в БП3
У клиента в чеке не показывается e-mail и номер телефона, должно быть так:

При этом чек якобы пробивается, но на фискальник не уходит.
Посмотрел форму оплаты, там ЭтоККТСПередачейДанных = ложь.

Обнаружил что удаляется оборудование тут Документ РозничнаяПродажа процедура ВыбратьФискальноеУстройствоЗавершение из-за неправильной СНО:

В отладчике тут подставил значение в процедуре ФормаДокументаОбщая.СписокОборудованияПоТипу и поля появились:


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

А в 1С «АУСН (доходы минус-расходы)»:

Правильная была в 1С, поэтому просто перерегистрировал кассу на «УСН доход — расход» и проблема решилась.
А то я пенял на очередные косяки 1С, тем более что проблема случилась у клиента после обновления.
Но все равно, диагностика у 1С никакая. Зачем пробивать чек, если нет кассового оборудования? Может как-то предупреждать об этом?
Среда: БП 3.0.202.14 Объем: 2 час.




Cтранно брать с клиента полную оплату за время, значительную часть которого вы потратили на обход штатной и правильной проверки 1С, хотя система прямо сообщала о несоответствии СНО
в 1с часто диагностика стоит дороже решения.
это как в анекдоте — сантехник пришел, стукнул по батарее и взял 5000.
на недоуменный вопрос — почему 5000 за 5 секунд работы ответ — 20 лет изучал, куда стучать надо.