Имя: Пароль:
1C
1С v8
Печать чека ККМ из Платежного поручения вход.исход 1С УПП 1.3
,
0 skupidom
 
26.09.18
00:12
Настроил ККТ с передачей данных АТОЛ Ф30 в 1С УПП 1.3.Получил возможность печати чека из документов: Реализация товаров и услуг, возврат от поставщика, РКО и ПКО,нужно настроить печать из: Платежных поручений вход. и исход.
1 shadow_sw
 
26.09.18
04:02
я писал, отдельно - для пп нет возможности печатать чеки(по крайней мере в релизе 1.3.111.1)
2 Гипервизор
 
26.09.18
07:07
(0) Для чего вам это нужно? Такое кажется только в БП 3.0 пока реализовано (и то с оговорками). Пока есть отсрочка, а там может и типовые подтянутся.
3 shadow_sw
 
26.09.18
07:13
(2) я поднимал тему неделю назад по этому вопросу - ФНС предъявляет требования к строительным компаниям - отражать % прибыли в ОФД, из договоров ДДУ(долевки)
4 d4rkmesa
 
26.09.18
08:03
(0) Надо перепиливать. В 2-3 местах в модулях и в документах. Если хотите вывод товарных позиций, как при печати из РТиУ и ПКО на основании РТиУ, то довольно прилично нужно будет допилить. Если обновляете актуальными релизами, я бы пока не торопился.
5 skupidom
 
26.09.18
11:49
почему при печати чека из РТУ ОбработкаОбслуживания = вн.обработка ККТ, а при печати из ПлатежногоПорученияВходящего = неопределено и как это исправить ? Внутри вн. обработки ККТ не нашел привязки из каких видов докум. она печатается ..
6 dchumak
 
26.09.18
11:53
(0) в УПП не реализована печать чека из входящего п/п
7 dchumak
 
26.09.18
11:54
(2) с 1 июля уже нужно печатать чеки при оплате от физлиц электронными средствами платежа. Есть некоторые исключения до 2019 года, но, для многих клиентов уже нужно. Поэтому и реализовано в БП 3.0.
В УПП 1.3 - нет.
8 dchumak
 
26.09.18
11:55
(5) посмотри как сделана печать из других документов и сделай по образцу. Там нужно учесть, что при печати вид чека берется от вида документа (РКО - расход, ПКО - приход и т.д.) Ну и с типом оплаты "электронно" надо проверить...
9 shadow_sw
 
26.09.18
12:20
(4) больше времени потратил на установку и настройку виртуальной ККМ
10 skupidom
 
26.09.18
13:19
в каком месте нужно прописать вид документа ППИ ППВ чтобы распознался или зарегистрировался ОбработкаОбслуживания и обработка драйвера ? в самой интеграционной компоненте или в общем модуле ?
11 d4rkmesa
 
26.09.18
13:23
(10) В ППВ нужно добавить функцию:
Функция ПоддерживаетсяВидТО(Вид) Экспорт
    Результат = Ложь;
    Если Вид = Перечисления.ВидыТорговогоОборудования.ККТ Тогда
        Результат = Истина;
    КонецЕсли;
    Возврат Результат;
КонецФункции // ПоддерживаетсяВидТО()

А также в ПриЗакрытии добавить:
ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма)

В ПриОткрытии:
ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);

Это кроме самой процедуры печати чека по кнопке.
12 d4rkmesa
 
26.09.18
13:24
(11) В модуль формы. Остальные изменения - в общих модулях.
13 skupidom
 
26.09.18
13:27
еще что-то нужно ?
14 d4rkmesa
 
26.09.18
13:34
Смотри МенеджерОборудованияВызовСервера
процедуру ПодготовитьДанныеДляФискализацииЧека

там как минимум:
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РасходныйКассовыйОрдер")

надо поменять на:
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РасходныйКассовыйОрдер")
ИЛИ ТипЗнч(Ссылка) = Тип("ДокументСсылка.ПлатежноеПоручениеИсходящее")

и в процедуре ЗаполнитьОплатыДляПлатежногоДокумента

поменять:
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ОплатаОтПокупателяПлатежнойКартой")

на:
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ОплатаОтПокупателяПлатежнойКартой")             ИЛИ ТипЗнч(Ссылка) = Тип("ДокументСсылка.ПлатежноеПоручениеВходящее")
15 d4rkmesa
 
26.09.18
13:37
Плюс в сам документ добавить реквизиты:
НомерЧекаККМ и ПризнакСпособаРасчета - как минимум.
16 Гипервизор
 
26.09.18
13:49
(7) Исключения до 2019 года вполне конкретные. В части как раз платежных поручений.
В БП 3.0 конкретно прописано что реализовано: "Теперь можно пробить чек на безналичную выплату по договору ГПХ".
17 skupidom
 
26.09.18
14:44
МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(Ссылка, ПараметрыЧека, ВерсияФормата,                 ПолучитьСерверТО().ПолучитьМодель(ФУ), ,);
вместо ПринятоОт и Основание - что должно быть ?
18 skupidom
 
26.09.18
15:08
МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(Ссылка, ПараметрыЧека, ВерсияФормата,                ПолучитьСерверТО().ПолучитьМодель(ФУ), ПринятоОт, Основание);
вылитает в исключение ..
19 skupidom
 
26.09.18
15:17
это при печати платежного поручения входящего
20 d4rkmesa
 
26.09.18
15:31
(17)
У меня так:
МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(Ссылка, ПараметрыЧека, ВерсияФормата,
            ПолучитьСерверТО().ПолучитьМодель(ФУ), СокрЛП(Контрагент), НазначениеПлатежа);

Но! Т.к. зачастую бывает, что физлицо платит "за брата" (ИП или организацию), то можно предусмотреть отдельный реквизит. Либо сначала выбирать плательщика, печатать чек, а потом менять на того, чьи расчеты по реализации погашаются оплатой.

Ну там дальше самостоятельно несложно разобраться, по ошибкам, чего не хватает.
21 skupidom
 
26.09.18
15:36
только что поменял на выражение:
МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(ДокументОснование, ПараметрыЧека, ВерсияФормата,            ПолучитьСерверТО().ПолучитьМодель(ФУ),Строка(Контрагент),Строка(ДокументОснование));
22 skupidom
 
26.09.18
15:36
заменил Ссылку на ДокументОснование и миновал исключение, но чем черевато, пока не знаю ..
23 d4rkmesa
 
26.09.18
15:44
(22) Лучше в журнале регистрации посмотрите, что ошибка. Проблему лучше решить "в лоб" в данном случае, чем действовать хаотично.
24 skupidom
 
26.09.18
15:46
ПараметрыЧека.ТекстЭлектронногоЧека
ОбъектДрайвера.ВыходныеПараметры[1]
эти параметры есть в РКО ПКО
но у при печати платежного поручения входящего их нет
25 skupidom
 
26.09.18
15:59
ПОМОГИТЕ, что это может быть если ссылка то в исключение
26 d4rkmesa
 
26.09.18
16:00
(24) Закомментируйте строку или добавьте реквизит. Чек успел распечататься?
Процедура полностью:

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

    КоличествоФУ = СписокФУ.Количество();
    Если      КоличествоФУ = 0 Тогда
        Предупреждение("Фискальное устройство не подключено!");
        ФУ = Неопределено;
    ИначеЕсли КоличествоФУ = 1 Тогда
        ФУ = СписокФУ[0].Значение;
    Иначе
        ФУ = СписокФУ.ВыбратьЭлемент("Необходимо выбрать фискальное устройство");
        Если ФУ = Неопределено Тогда
            Предупреждение("Операция отменена пользователем");
        Иначе
            ФУ = ФУ.Значение;
        КонецЕсли;
    КонецЕсли;
    Если НЕ ЗначениеЗаполнено(ФУ) Тогда
        Возврат;
    КонецЕсли;
    Если (НЕ Проведен) ИЛИ Модифицированность Тогда
        Ответ = Вопрос("Провести документ?", РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
        Если Ответ <> КодВозвратаДиалога.Да Тогда
            Предупреждение("Операция не выполнена!");
            Возврат;
        КонецЕсли;
    КонецЕсли;    
    ЗаписатьВФорме(РежимЗаписиДокумента.Проведение);
    Если (НЕ Проведен) ИЛИ Модифицированность Тогда
        Предупреждение("Операция не выполнена!");
        Возврат;
    КонецЕсли;    
    ВидФУ = ПолучитьСерверТО().ПолучитьВид(ФУ);
    Если ВидФУ = ПредопределенноеЗначение("Перечисление.ВидыТорговогоОборудования.ККТ") Тогда
        
        ОписаниеПКС = КассовыеСменыВызовСервера.ОписаниеПоследнейКассовойСмены(ФУ);
        Если ОписаниеПКС = Неопределено ИЛИ ОписаниеПКС.Статус = Перечисления.СтатусыКассовойСмены.Закрыта Тогда
            ОбщегоНазначения.СообщитьОбОшибке("Кассовая смена не открыта");
            Возврат;
        КонецЕсли;        
        ОбъектДрайвера = Неопределено;
        ОбработкаОбслуживания = Неопределено;        ПолучитьСерверТО().ПолучитьОбъектДрайвера(ФУ, ОбработкаОбслуживания, ОбъектДрайвера);
        ОбработкаОбслуживания.ПолучитьПараметрыККТ(ОбъектДрайвера);
        ВерсияФормата = МенеджерОборудованияКлиентСервер.ВерсияФФД(ОбъектДрайвера.ВыходныеПараметры);
        
        ПараметрыЧека = МенеджерОборудованияКлиентСервер.ПараметрыОперацииФискализацииЧека();
        ПараметрыЧека.Вставить("ОписаниеПКС", ОписаниеПКС);
        МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(Ссылка, ПараметрыЧека, ВерсияФормата,
            ПолучитьСерверТО().ПолучитьМодель(ФУ), СокрЛП(Контрагент), НазначениеПлатежа);
        Результат = ОбработкаОбслуживания.ФискализироватьЧек(ОбъектДрайвера, ПараметрыЧека);
        Если Не ЗначениеЗаполнено(Результат) Тогда
            ЭтотОбъект.НомерЧекаККМ = ОбъектДрайвера.ВыходныеПараметры[1];
            //ЭтотОбъект.ККМ = ОписаниеПКС.КассаККМ;
            //ЭтотОбъект.ТекстЭлектронногоЧека = ПараметрыЧека.ТекстЭлектронногоЧека;
            Оплачено = Истина;
            ПриЗаписиПерепроводить = Ложь;            ЗаписатьВФорме(РежимЗаписиДокумента.Запись);
            ПриЗаписиПерепроводить = Истина;
        Иначе            ОбщегоНазначения.СообщитьОбОшибке(ОбъектДрайвера.ОписаниеОшибки);
            Возврат;
        КонецЕсли;
    КонецЕсли;    
КонецПроцедуры
27 skupidom
 
26.09.18
16:05
нет не успел
28 skupidom
 
26.09.18
16:16
ОбщийМодуль.ОбщегоНазначения.Модуль(280)}: Ошибка при вызове метода контекста (Выполнить)
    Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(3, 2)}: Поле не найдено "АдресЭП"
<<?>>АдресЭП КАК АдресЭП
29 d4rkmesa
 
26.09.18
16:20
(28) В МенеджерОборудованияВызовСервера заменить

ОбщиеПараметры.ПокупательEmail = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "АдресЭП"));
АдресЭПЗадан = Не ПустаяСтрока(ОбщиеПараметры.ПокупательEmail);

На:

Если ОбщегоНазначения.ЕстьРеквизитДокумента("АдресЭП", Ссылка.Метаданные()) Тогда
    ОбщиеПараметры.ПокупательEmail = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "АдресЭП"));
    АдресЭПЗадан = Не ПустаяСтрока(ОбщиеПараметры.ПокупательEmail);
    Иначе
        АдресЭПЗадан = Ложь;
    КонецЕсли;
30 d4rkmesa
 
26.09.18
16:20
(29) В ПодготовитьДанныеДляФискализацииЧека
31 karpik666
 
26.09.18
16:24
(0) ну и зачем ломать конфигурацию, сделайте внешнюю печатную форму, и подключите ее к Платежному поручению, за образец можете взять внешню печатную форму, которая идет в комплекте с моей разработкой http://catalog.mista.ru/public/590993/ , сам комплект можно скачать бесплатно.
32 d4rkmesa
 
26.09.18
16:39
(31) 2/3 посетителей Мисты только и делают, что ломают конфигурации.
33 dchumak
 
27.09.18
03:09
(16) а в УПП даже этого нет. Вообще. И непонятно, когда будет. Остается только догадываться, что скорее всего, до 2019 года отложили эту доработку.
34 Гипервизор
 
27.09.18
07:15
(33) Можно подумать во всех остальных есть, вот только бедная несчастная УПП отстает)
35 dchumak
 
27.09.18
08:39
(34) ну почему только УПП...
УТ 10.3 тоже не обновляется уже почти полгода.
36 Гипервизор
 
27.09.18
08:43
(35) Ну блин. В Рознице, УТ11, ERP и т.д. это есть?
Кстати, отправка чеков по почте и чек коррекции тоже не сразу в УТ 10.3 и УПП появились. Но появились же.
37 karpik666
 
27.09.18
09:27
(36) благодаря их "не сразу" моя программа пользуется спросом, и успешно продается, многие функциц до которых в ут 10.3 никогда не дойдут в данной обработке реализовано.
38 Гипервизор
 
27.09.18
09:31
(37) Да при чем тут УТ 10.3. Я к тому, что можно подумать вот во всех конфах все свежие изменения по ККТ моментально появляются, а только УТ и УПП отстают. Там разве что в Рознице стараются быстро реализовать, в той же УТ 11 далеко не сразу появляется.
39 karpik666
 
27.09.18
09:35
(38) так и никто не говорит, про управляемые формы, там у всех одинаковый БПО, где это и реализовано, однако, чтобы это появилось нужно постоянно держать актуальную версию конфигурации
40 Denya78
 
17.10.18
11:56
(31) А ваша обработка умеет печатать чек из платежного поручения входящего??
41 karpik666
 
17.10.18
12:10
(40) да, в комплекте идет внешняя печатная форма, которую нужно подключить к этому документу, после этого можно печатать чеки, без каких либо доработок.