Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

КД2: Фискальные операции

КД2: Фискальные операции
Я
   Mikhail Volkov
 
02.06.20 - 09:34
Чеки отбиваются в Альфа-Авто, в которой нет РС Фискальные операции. Затем данные перебрасываются в УПП/КА по правилам, написанными в КД2. РС Фискальные операции имеет измерения: ДокументОснование и ИдентификаторЗаписи. С последним возник вопрос: кто его формирует? По началу в правилах КД2 его прописал:
Если Не ОбъектНайден Тогда
    Объект.ИдентификаторЗаписи = Строка(Новый УникальныйИдентификатор());
КонецЕсли;
Но заметил, что при каждом обмене создается новая запись фискальной операции. Он должен определен до обмена. Как? Пока либо оставлять пустым, либо например, ДокументОснование.УникальныйИдентификатор()?
   fisher
 
1 - 02.06.20 - 09:56
> возник вопрос: кто его формирует
Хороший вопрос. Почему бы не поискать на него ответ в УПП/КА?
   Mikhail Volkov
 
2 - 02.06.20 - 10:01
(1) Именно в 1С, не в кассе ККМ? Что-то сортировку записей РС не могу включить (например, по дате)?
   Галахад
 
3 - 02.06.20 - 10:04
Наверное, можно сделать 
дата+смена+номерчека
   Mikhail Volkov
 
4 - 02.06.20 - 10:18
(3) Как? Позволяет только НомерЧекаККМ, ЗаводскойНомерФН, РегистрационныйНомерККТ, нет даты.
   Mikhail Volkov
 
5 - 02.06.20 - 12:28
Оказывается еще есть РС ЖурналФискальныхОпераций - те же измерения и ресурсы (почти). Для чего это дублирование, что сейчас используется? В демо базах оба РС пустые.
   Mikhail Volkov
 
6 - 02.06.20 - 15:40
(0) Оставляю ИдентификаторЗаписи пустым, делаю повторную загрузку тех же записей, теперь повторных записей не делает, а ОбъектНайден все равно Ложь!? В КД2 ОбъектНайден работает только для справочников и документов - для объектов с GUIDами?
(5) В КА2 (ERP) та же хрень: в РС есть ЖурналФискальныхОпераций и ФискальныеОперации - для чего это дублирование записей?
   Михаил Козлов
 
7 - 02.06.20 - 15:51
(6) Такое ощущение, что для совместимости. У нас в РС ЖурналФискальныхОпераций записи до 03.04.2019, в ФискальныеОперации - актуальные.
При этом записи в регистр ФО дублируют записи регистра ЖурналФО
   Mikhail Volkov
 
8 - 02.06.20 - 16:28
(7) Нашел свою тему КД2: РС Журнал фискальных операций 3-х летней давности. В ней упоминается только РС ЖурналФискальныхОпераций, видимо РС ФискальныеОперации не дошел еще, или не было еще. А сейчас открываю, там последняя 10.03.2019, а в ЖурналФискальныхОпераций все есть. У документов до 10.03.2019 ФискальнаяОперацияСтатус: Чек не пробит. Сейчас вопрос куда загружать записи, только в ФискальныеОперации, или оба РС?
   Ёпрст
 
9 - 02.06.20 - 16:33
(0) Это всё можно не переносить. Эти данные никакой погоды в иб не делают. Так, чисто справочные данные о чеке. Которые и так можно посмотреть на офд
   Михаил Козлов
 
10 - 02.06.20 - 16:51
(9)+ Для переноса придется еще формировать представление и текст XML. Функцию, которая давала бы XML по объекту в чистом виде не нашел: формирование XML как-то зарыто.
   Mikhail Volkov
 
11 - 02.06.20 - 17:09
(10) Мне главное чтобы ФискальнаяОперацияСтатус формировалась нормально. Вроде формируется по записи из ФискальныеОперации. Туда?
   Mikhail Volkov
 
12 - 03.06.20 - 15:45
Попробую писать в РС ФискальныеОперации. Раньше фискальные реквизиты брал из документов, по которым отбиваются чеки. Например, для документа ПриходныйКассовыйОрдер создал отдельное ПКО ФискальнаяОперацияПКО, а в ПКО ПриходныйКассовыйОрдер добавил ПКС с параметром ФискальнаяОперацияПКО (передавать данные в параметр) с правилом ФискальнаяОперацияПКО. Когда выгружается документ, автоматом выгружается его ФискальнаяОперация.
В правилах обмена Альфа-Авто с КА1 сделал так же. А правилах обмена КА1 с КА2 мне уже надо ФискальнаяОперация выгружать из РС в РС. В старых правилах для конфигураций 8.2 обычно делалось в обработчиках "После выгрузки в файл". Например, выгружают Контрагента, и его КИ. В этом обработчике пишут:

Отказ = Источник.ЭтоГруппа;
Если Не Отказ Тогда
    Запрос = Новый Запрос(" 
    |ВЫБРАТЬ
    |    КонтактнаяИнформация.Объект,
    |    КонтактнаяИнформация.Тип,
    |    КонтактнаяИнформация.Вид,
    |    КонтактнаяИнформация.Представление,
    |    КонтактнаяИнформация.ЗначениеПоУмолчанию,
    |    КонтактнаяИнформация.Поле1,
    |    КонтактнаяИнформация.Поле2,
    |    КонтактнаяИнформация.Поле3,
    |    КонтактнаяИнформация.Поле4,
    |    КонтактнаяИнформация.Поле5,
    |    КонтактнаяИнформация.Поле6,
    |    КонтактнаяИнформация.Поле7,
    |    КонтактнаяИнформация.Поле8,
    |    КонтактнаяИнформация.Поле9,
    |    КонтактнаяИнформация.Поле10,
    |    КонтактнаяИнформация.Комментарий
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Объект = &Объект");

    Запрос.УстановитьПараметр("Объект", Источник); 
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ВыгрузитьПоПравилу(Выборка, , , , "КонтактнаяИнформация");
    КонецЦикла;
КонецЕсли;

Сейчас вроде эти обработчики не используют. Не пойму - что вместо них? Как мне выгрузить ФискальнаяОперация для конкретного документа с его выгрузкой?
   Ёпрст
 
13 - 03.06.20 - 17:13
(12) она не нужна, как поймешь это, так вопросы по кд отпадут.
   Mikhail Volkov
 
14 - 03.06.20 - 17:38
(13) Почему не нужна? Сейчас (после 10.03.2019) в документах ФискальнаяОперацияСтатус: Чек не пробит.
Вопрос чисто по КД2: нужно выгрузить объект с информацией в РС по нему. Как?
Например смотрю, есть ПКО для РС: ФИОФизическихЛиц, но не вижу его в ПКО для справочника ФизическихЛиц!?
   Mikhail Volkov
 
15 - 03.06.20 - 17:40
+ ...для справочника ФизическиеЛица
   Mikhail Volkov
 
16 - 03.06.20 - 18:37
Для ФизическиеЛица нашел в ПВД в обработчике Перед обработкой:
Запрос = Новый Запрос;
Запрос.Текст = "
    |ВЫБРАТЬ
    |    ФизическиеЛица.Ссылка
    |ИЗ
    |    Справочник.ФизическиеЛица КАК ФизическиеЛица
    |ГДЕ
    |    НЕ ФизическиеЛица.ПометкаУдаления И Не ФизическиеЛица.ЭтоГруппа";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ВыгрузитьПоПравилу(Выборка.Ссылка,,,,"ФизическиеЛица");    
КонецЦикла;

Запрос = Новый Запрос;
Запрос.Текст = "
    |ВЫБРАТЬ
    |    ИСТИНА КАК Активность,
    |    ФИО.Имя,
    |    ФИО.Отчество,
    |    ФИО.Фамилия,
    |    ФИО.Период,
    |    ФИО.Физлицо
    |ИЗ
    |    РегистрСведений.ФИОФизлиц КАК ФИО";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ВыгрузитьПоПравилу(Выборка,,,,"ФИОФизическихЛиц");    
КонецЦикла;
   Ёпрст
 
17 - 03.06.20 - 18:50
(14) дык посмотри в код из чего складывается "чек не пробит" и заполни только эти  реквизиты
   Ёпрст
 
18 - 03.06.20 - 19:01
Там нужен только один реквизит, как правило, НомерЧекаККМ... максимум, еще какое-нить перечисление, что типа чек пробит, всё.
Никакие левые рег сведений заполнять не надо.
   Mikhail Volkov
 
19 - 03.06.20 - 19:11
(17) Вроде из записей РС ФискальнаяОперация, но их не когда не загружал, только ЖурналФискальныхОпераций.
(18) Это только в КА1 в кассовых документах НомерЧекаККМ есть, а КА2 его нет.
   Mikhail Volkov
 
20 - 03.06.20 - 19:50
Только не понял, почему в нем (16) не указан отбор по конкретному физлицу?
   Mikhail Volkov
 
21 - 04.06.20 - 14:30
(20) сделал также для ФискальнаяОперация, выгружая за день, а выгружаются все похоже фискальные операции из КА1. Видимо не удачный пример взял, эти правила написаны для разовой выгрузки при создании базы КА2.
   hhhh
 
22 - 04.06.20 - 16:07
(21) зачем вообще чеки выгружать? Это ваше ноу-хау? Кроме вас наверно никто не выгружает.
   Mikhail Volkov
 
23 - 04.06.20 - 16:41
(22) Выгружать нужно кассовые документы, по которым бьются чеки. В них после 10.03.2019 ФискальнаяОперацияСтатус: Чек не пробит, хотя они пробиты. 3 года назад решал эту проблему КД2: РС Журнал фискальных операций, видимо что-то изменилось. Поэтому спрашиваю как реальных базах, в которых непосредственно бьются чеки? Попутно хочу переписать правила по современному, но пока не получается.
   Ёпрст
 
24 - 04.06.20 - 16:43
(23) покажи реквизиты КА2.
   Ёпрст
 
25 - 04.06.20 - 16:43
там наверняка есть номерЧекаККМ
   Mikhail Volkov
 
26 - 04.06.20 - 17:00
(24) Реквизиты кассовых документов? Неважно есть или нет (отвечал уже в (19)), ФискальнаяОперацияСтатус формируется по РС ФискальныеОперации.
   Ёпрст
 
27 - 04.06.20 - 18:09
(26) та ну ? Не верю..
   hhhh
 
28 - 04.06.20 - 18:16
(26) ну значит не нужно чеки загружать. Просто заполнить в УПП реквизит ФискальнаяОперацияСтатус
   Mikhail Volkov
 
29 - 05.06.20 - 09:22
(28) В УПП/КА1 нет ФискальнаяОперацияСтатус, фискальные операции в нее выгружаю для дальнейшей выгрузки из нее в ERP/КА2.
Пока воспользовался прежнем способом (12), т.е. в ПКО кассовых добавил по ПКС с параметром ФискальнаяОперация, с правилом ФискальнаяОперация. Тут возникли трудности (не приходилось работать с РС в КД2). В обработчике ПКС Перед выгрузкой написал:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Документ", Источник);
Запрос.Текст = "
|ВЫБРАТЬ
|    ФискальнаяОперация.ДокументОснование,
|    ФискальнаяОперация.ИдентификаторЗаписи,
|    ФискальнаяОперация.Дата,
|    ФискальнаяОперация.Организация,
|    ФискальнаяОперация.ТорговыйОбъект,
|    ФискальнаяОперация.ТипДокумента,
|    ФискальнаяОперация.ТипРасчета,
|    ФискальнаяОперация.НомерЧекаККМ,
|    ФискальнаяОперация.НомерСменыККМ,
|    ФискальнаяОперация.ФискальныйПризнак,
|    ФискальнаяОперация.Сумма,
|    ФискальнаяОперация.ОплатаНаличные,
|    ФискальнаяОперация.ОплатаЭлектронно,
|    ФискальнаяОперация.ОплатаПостоплата,
|    ФискальнаяОперация.ОплатаПредоплата,
|    ФискальнаяОперация.ОплатаВстречноеПредоставление,
|    ФискальнаяОперация.АдресСайтаПроверки,
|    ФискальнаяОперация.ЗаводскойНомерФН,
|    ФискальнаяОперация.РегистрационныйНомерККТ
|ИЗ
|    РегистрСведений.ФискальныеОперации КАК ФискальнаяОперация
|ГДЕ
|    ФискальнаяОперация.ДокументОснование = &Документ";
КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();
Обычно на этом кончаю в ПКГС, а тут добавил:
Если КоллекцияОбъектов.Количество() = 0 Тогда
    Отказ = Истина;
Иначе
    Значение = КоллекцияОбъектов[0];
КонецЕсли;
Правильно ли? И еще: надо ли в запросе писать все выгружаемые параметры фискальной операции, одного достаточно?
Еще вопрос по ПКО ФискальнаяОперация: в обработчике После загрузки для РС ОбъектНайден не работает (0), поэтому прописал:
Если Параметры.Комментировать Тогда
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Документ", Объект.ДокументОснование);
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    ФискальнаяОперация.ДокументОснование
    |ИЗ
    |    РегистрСведений.ФискальныеОперации КАК ФискальнаяОперация
    |ГДЕ
    |    ФискальнаяОперация.ДокументОснование = &Документ";
    Результат = Запрос.Выполнить().Выгрузить();
    Сообщить("" + ?(Результат.Количество() = 0, "Загруж", "Обновл") + "ена фискальная операция для: " + СокрЛП(Объект.ДокументОснование) + " с номером чека ККМ: " + Объект.НомерЧекаККМ + "/" + Объект.НомерСменыККМ, СтатусСообщения.Информация); 
КонецЕсли;
При 1-й загрузке пишет: Загружена фискальная операция для: <Объект не найден> (787:89a028924acd401011eaa238546e7598) с номером чека ККМ: 1/87 - да, сам документ еще не загружен в базу. А при следующей нормально: Обновлена фискальная операция для: Приходный кассовый ордер ЧИП-0000191 от 30.05.2020 15:13:32 с номером чека ККМ: 1/87. Конечно это мелочь, главное ФискальнаяОперацияСтатус правильно отображается. Но все же хотелось посмотреть как сейчас это делается типа (16), но с отбором по конкретной записи РС?
   Ёпрст
 
30 - 05.06.20 - 10:13
Ё...

достаточно определить в нужном документе ТЧ (просто группа) куда в при выгрузке пихать коллекцию из нужных свойств для РС
Всё.
Никаких отдельных правил не надо.
Тогда всё будет лететь вместе с самим документом.
ЗЫ: смотри, как выгружаются движения документа, сделай по-аналогии, только саму коллекцию возьмешь из запроса.
 
 Рекламное место пустует
   Mikhail Volkov
 
31 - 05.06.20 - 11:37
(30) Нет примеров по выгрузке движений документов. Допустим в ПКО ПриходныйКассовыйОрдер добавил группу, выгружаю данные из запроса по РС. А как он поймет, что эти данные нужно загружать не в ПриходныйКассовыйОрдер приемника, а в РС ФискальнаяОперация?
   Mikhail Volkov
 
32 - 05.06.20 - 13:08
Вопрос темы в принципе решен - нужно грузить записи РС ФискальныеОперации, чтобы правильно отображались ФискальнаяОперацияСтатус в документах, по которым отбиты чеки. Не ясно лишь почему они сами формировались до 10.03.2019 по записям ЖурналФискальныхОпераций, а теперь нет.
Остались некоторые вопросы (29) по техники исполнения. Вроде сейчас обработчики "После выгрузки в файл" не используют, но при выгрузке отмечают только документы, которыми нужно произвести обмен. Никто не отмечает записи РС, сами выгружаются с документами. Пробовал в ПВД кассовых документов писать (по аналогии (16) ФИОФизическихЛиц):
Запрос = Новый Запрос;
Запрос.Текст = "
    |ВЫБРАТЬ
    |    ФО.ДокументОснование,
    |    ФО.ИдентификаторЗаписи,
    |    ФО.Дата,
    |    ФО.Организация,
    |    ФО.ТорговыйОбъект,
    |    ФО.ТипДокумента,
    |    ФО.ТипРасчета,
    |    ФО.НомерЧекаККМ,
    |    ФО.НомерСменыККМ,
    |    ФО.ФискальныйПризнак,
    |    ФО.Сумма,
    |    ФО.ОплатаНаличные,
    |    ФО.ОплатаЭлектронно,
    |    ФО.ОплатаПостоплата,
    |    ФО.ОплатаПредоплата,
    |    ФО.ОплатаВстречноеПредоставление,
    |    ФО.АдресСайтаПроверки,
    |    ФО.ЗаводскойНомерФН,
    |    ФО.РегистрационныйНомерККТ
    |ИЗ
    |    РегистрСведений.ФискальныеОперации КАК ФО";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ВыгрузитьПоПравилу(Выборка,,,,"ФискальнаяОперация");    
КонецЦикла;
Выгрузились все фискальные операции. Как наложить отбор в ПВД, чтобы выгружались только ФискальныеОперации выгружаемых документов?
   Mikhail Volkov
 
33 - 05.06.20 - 17:59
Все же, как наложить отбор в ПВД, чтобы выгружались только записи ФискальныеОперации выгружаемых документов?


Список тем форума
Рекламное место пустует  Рекламное место пустует
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.