|
КД2: Фискальные операции | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
02.06.20
✎
09:34
|
Чеки отбиваются в Альфа-Авто, в которой нет РС Фискальные операции. Затем данные перебрасываются в УПП/КА по правилам, написанными в КД2. РС Фискальные операции имеет измерения: ДокументОснование и ИдентификаторЗаписи. С последним возник вопрос: кто его формирует? По началу в правилах КД2 его прописал:
Если Не ОбъектНайден Тогда Объект.ИдентификаторЗаписи = Строка(Новый УникальныйИдентификатор()); КонецЕсли; Но заметил, что при каждом обмене создается новая запись фискальной операции. Он должен определен до обмена. Как? Пока либо оставлять пустым, либо например, ДокументОснование.УникальныйИдентификатор()? |
|||
1
fisher
02.06.20
✎
09:56
|
> возник вопрос: кто его формирует
Хороший вопрос. Почему бы не поискать на него ответ в УПП/КА? |
|||
2
Mikhail Volkov
02.06.20
✎
10:01
|
(1) Именно в 1С, не в кассе ККМ? Что-то сортировку записей РС не могу включить (например, по дате)?
|
|||
3
Галахад
гуру
02.06.20
✎
10:04
|
Наверное, можно сделать
дата+смена+номерчека |
|||
4
Mikhail Volkov
02.06.20
✎
10:18
|
(3) Как? Позволяет только НомерЧекаККМ, ЗаводскойНомерФН, РегистрационныйНомерККТ, нет даты.
|
|||
5
Mikhail Volkov
02.06.20
✎
12:28
|
Оказывается еще есть РС ЖурналФискальныхОпераций - те же измерения и ресурсы (почти). Для чего это дублирование, что сейчас используется? В демо базах оба РС пустые.
|
|||
6
Mikhail Volkov
02.06.20
✎
15:40
|
(0) Оставляю ИдентификаторЗаписи пустым, делаю повторную загрузку тех же записей, теперь повторных записей не делает, а ОбъектНайден все равно Ложь!? В КД2 ОбъектНайден работает только для справочников и документов - для объектов с GUIDами?
(5) В КА2 (ERP) та же хрень: в РС есть ЖурналФискальныхОпераций и ФискальныеОперации - для чего это дублирование записей? |
|||
7
Михаил Козлов
02.06.20
✎
15:51
|
(6) Такое ощущение, что для совместимости. У нас в РС ЖурналФискальныхОпераций записи до 03.04.2019, в ФискальныеОперации - актуальные.
При этом записи в регистр ФО дублируют записи регистра ЖурналФО |
|||
8
Mikhail Volkov
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 как-то зарыто.
|
|||
11
Mikhail Volkov
02.06.20
✎
17:09
|
(10) Мне главное чтобы ФискальнаяОперацияСтатус формировалась нормально. Вроде формируется по записи из ФискальныеОперации. Туда?
|
|||
12
Mikhail Volkov
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) она не нужна, как поймешь это, так вопросы по кд отпадут.
|
|||
14
Mikhail Volkov
03.06.20
✎
17:38
|
(13) Почему не нужна? Сейчас (после 10.03.2019) в документах ФискальнаяОперацияСтатус: Чек не пробит.
Вопрос чисто по КД2: нужно выгрузить объект с информацией в РС по нему. Как? Например смотрю, есть ПКО для РС: ФИОФизическихЛиц, но не вижу его в ПКО для справочника ФизическихЛиц!? |
|||
15
Mikhail Volkov
03.06.20
✎
17:40
|
+ ...для справочника ФизическиеЛица
|
|||
16
Mikhail Volkov
03.06.20
✎
18:37
|
Для ФизическиеЛица нашел в ПВД в обработчике Перед обработкой:
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ФизическиеЛица.Ссылка |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица |ГДЕ | НЕ ФизическиеЛица.ПометкаУдаления И Не ФизическиеЛица.ЭтоГруппа"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ВыгрузитьПоПравилу(Выборка.Ссылка,,,,"ФизическиеЛица"); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ИСТИНА КАК Активность, | ФИО.Имя, | ФИО.Отчество, | ФИО.Фамилия, | ФИО.Период, | ФИО.Физлицо |ИЗ | РегистрСведений.ФИОФизлиц КАК ФИО"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ВыгрузитьПоПравилу(Выборка,,,,"ФИОФизическихЛиц"); КонецЦикла; |
|||
17
Ёпрст
03.06.20
✎
18:50
|
(14) дык посмотри в код из чего складывается "чек не пробит" и заполни только эти реквизиты
|
|||
18
Ёпрст
03.06.20
✎
19:01
|
Там нужен только один реквизит, как правило, НомерЧекаККМ... максимум, еще какое-нить перечисление, что типа чек пробит, всё.
Никакие левые рег сведений заполнять не надо. |
|||
19
Mikhail Volkov
03.06.20
✎
19:11
|
(17) Вроде из записей РС ФискальнаяОперация, но их не когда не загружал, только ЖурналФискальныхОпераций.
(18) Это только в КА1 в кассовых документах НомерЧекаККМ есть, а КА2 его нет. |
|||
20
Mikhail Volkov
03.06.20
✎
19:50
|
Только не понял, почему в нем (16) не указан отбор по конкретному физлицу?
|
|||
21
Mikhail Volkov
04.06.20
✎
14:30
|
(20) сделал также для ФискальнаяОперация, выгружая за день, а выгружаются все похоже фискальные операции из КА1. Видимо не удачный пример взял, эти правила написаны для разовой выгрузки при создании базы КА2.
|
|||
22
hhhh
04.06.20
✎
16:07
|
(21) зачем вообще чеки выгружать? Это ваше ноу-хау? Кроме вас наверно никто не выгружает.
|
|||
23
Mikhail Volkov
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
|
там наверняка есть номерЧекаККМ
|
|||
26
Mikhail Volkov
04.06.20
✎
17:00
|
(24) Реквизиты кассовых документов? Неважно есть или нет (отвечал уже в (19)), ФискальнаяОперацияСтатус формируется по РС ФискальныеОперации.
|
|||
27
Ёпрст
04.06.20
✎
18:09
|
(26) та ну ? Не верю..
|
|||
28
hhhh
04.06.20
✎
18:16
|
(26) ну значит не нужно чеки загружать. Просто заполнить в УПП реквизит ФискальнаяОперацияСтатус
|
|||
29
Mikhail Volkov
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
|
Ё...
достаточно определить в нужном документе ТЧ (просто группа) куда в при выгрузке пихать коллекцию из нужных свойств для РС Всё. Никаких отдельных правил не надо. Тогда всё будет лететь вместе с самим документом. ЗЫ: смотри, как выгружаются движения документа, сделай по-аналогии, только саму коллекцию возьмешь из запроса. |
|||
31
Mikhail Volkov
05.06.20
✎
11:37
|
(30) Нет примеров по выгрузке движений документов. Допустим в ПКО ПриходныйКассовыйОрдер добавил группу, выгружаю данные из запроса по РС. А как он поймет, что эти данные нужно загружать не в ПриходныйКассовыйОрдер приемника, а в РС ФискальнаяОперация?
|
|||
32
Mikhail Volkov
05.06.20
✎
13:08
|
Вопрос темы в принципе решен - нужно грузить записи РС ФискальныеОперации, чтобы правильно отображались ФискальнаяОперацияСтатус в документах, по которым отбиты чеки. Не ясно лишь почему они сами формировались до 10.03.2019 по записям ЖурналФискальныхОпераций, а теперь нет.
Остались некоторые вопросы (29) по техники исполнения. Вроде сейчас обработчики "После выгрузки в файл" не используют, но при выгрузке отмечают только документы, которыми нужно произвести обмен. Никто не отмечает записи РС, сами выгружаются с документами. Пробовал в ПВД кассовых документов писать (по аналогии (16) ФИОФизическихЛиц): Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ФО.ДокументОснование, | ФО.ИдентификаторЗаписи, | ФО.Дата, | ФО.Организация, | ФО.ТорговыйОбъект, | ФО.ТипДокумента, | ФО.ТипРасчета, | ФО.НомерЧекаККМ, | ФО.НомерСменыККМ, | ФО.ФискальныйПризнак, | ФО.Сумма, | ФО.ОплатаНаличные, | ФО.ОплатаЭлектронно, | ФО.ОплатаПостоплата, | ФО.ОплатаПредоплата, | ФО.ОплатаВстречноеПредоставление, | ФО.АдресСайтаПроверки, | ФО.ЗаводскойНомерФН, | ФО.РегистрационныйНомерККТ |ИЗ | РегистрСведений.ФискальныеОперации КАК ФО"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ВыгрузитьПоПравилу(Выборка,,,,"ФискальнаяОперация"); КонецЦикла; Выгрузились все фискальные операции. Как наложить отбор в ПВД, чтобы выгружались только ФискальныеОперации выгружаемых документов? |
|||
33
Mikhail Volkov
05.06.20
✎
17:59
|
Все же, как наложить отбор в ПВД, чтобы выгружались только записи ФискальныеОперации выгружаемых документов?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |