Для решения необходимо использовать встроенный драйвер ФР.
В Конфигураторе-Обработки-ЗакрытиеКассовойСмены-ОсновнаяФорма-ОсновнойМодуль в «Процедура ВыполнитьЗакрытиеСмены(Отказ)» после » Если Не Отказ Тогда» добавляем следующий код:
«ПодключитьВнешнююКомпоненту(«AddIn.DrvFR»);
FR = Новый («AddIn.DrvFR»);
FR.Password=30; //Пароль администратор на ФР
FR.TypeOfSumOfEntriesFM=1;
FR.GetFMRecordsSum();
Если FR.ResultCode=0 Тогда
НеобнуляемаяСумма=FR.Summ1;
Иначе
Сообщить(«Получить необнуляемую сумму не удалось»);
КонецЕсли;»
Полученное из ФР число-НеобнуляемаяСумма записываем по назначению, в данном случае в документ Отчет о розничных продажах.
Успехов!
UPDATE Самое важное: ФР должен быть в режиме — ЗАКРЫТАЯ СМЕНА!!!
А какая разница какая конфигурация если напрямую обращаеться к драйверу ФР минуя API 1С?
Также, предложил бы в сообщении об ошибке выводить её причину, а не только факт её наличия.
++++
как раз в тему.
Сегодня проверю на фр-к.Дело в том что с АСПД сумму можно получить из денежных регистров, а вот с фр-к(с эклз) такое не проходит.
не работает, выдаётся сумма которая была внесена за смену, ну уж никак не необнуляемая сумма.
(3) Rik30, Добрый день, в отладчике поставьте остановку на FR.Summ1 и введите значения Summ2, Summ3, Summ4. В зависимости от версии встроенного ПО ФР данные об необнуляемой сумме могут записываться в другой регистр. Также ФР обязательно должен быть в режиме — Закрытая смена!! Проверьте, так ли это.
(1) Артано, Добрый день, спасибо за комментарий, вы правы разницы нет. Я лишь описывал свой пример.
Доработка процедуры возможна на ваше усмотрение)
Удачи!
(2) Rik30, Добрый день, ФР должен быть в режиме-Закрытая смена.
Я упустил этот момент, обновил публикацию))
Удачи!
(6) нее, не выходит каменного цветка.Одни нули
(7) Rik30, в каком режиме ФР когда запускаете процедуру?
(8) думаю, что нужно ещё указать версию прошивки,так у меня так и не получилось достать суммы.
получилось достать, пишу в коммент документа, бухи довольны. автору спасибо)