Тема: Ошибки копирования данных в Excel

Добрый день.
TechnologiCS 7.9 - новая функция копирование данных в Excel приводит к ошибке (скрин прилагаю).
Периодически все отрабатывает, но в 90% случаев сбой.
Закономерности не смогли проследить.
При этом копирование в Open Office calc всегда отрабатывает корректно.

Еще один дилетантский вопрос - как ограничить при выводе отчетов количество знаков после запятой для чисовых данных?
Через свойство таблиц базы данных Accses не получается.
Желательно, при выводе в Excel уже в числовом формате и без функции ROUND.

Заранее благодарен.

Post's attachments

error.jpg 44.58 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

Re: Ошибки копирования данных в Excel

как ограничить при выводе отчетов количество знаков после запятой для чисовых данных?

Контескное меню, формат ячейки, Числовой и выставить как нужно отоюразить.

Желательно, при выводе в Excel уже в числовом формате и без функции ROUND.

Ну тут только отчет делать (Есть простые отчеты аналогично передаче данных), там можно задать форматирование. https://help.technologics.ru/7.7/TCSHelp/_700.htm

С ошибкой разбираемся, причем она со временем как то исчезает так же :( от Excel похоже зависит.

Re: Ошибки копирования данных в Excel

Олег Зырянов пишет:

как ограничить при выводе отчетов количество знаков после запятой для чисовых данных?

Контескное меню, формат ячейки, Числовой и выставить как нужно отоюразить.

Желательно, при выводе в Excel уже в числовом формате и без функции ROUND.

Ну тут только отчет делать (Есть простые отчеты аналогично передаче данных), там можно задать форматирование. https://help.technologics.ru/7.7/TCSHelp/_700.htm

Добрый день.
Все таки без Вашей помощи мы все таки не решим возникшую проблемму.
После обновления с v7.7 до v7.9 в производстве модуль начал считать трудоемкость как положено (с учетом обьема партии и т.д.). В итоге полученные результаты имеют бесконечное количество знаков после запятой.
В программе отображение настраивается и все в порядке, но при выводе отчетов (ранее корректно работавших) получаем ниже приведенный вид.
Значения ячеек в EXCELL выставляем числовой + ,2 знака, в ACCESS -Двойное с плавающей точкой и число десятичных=2. Результата не дает, хотя в v7.7 манипуляции с EXCELL помогали.

Прошу подсказать как подправить в источниках данных запрос  с округлением числовых параметров до 2-3 знаков после запятой на примере стандартных отчетов Маршрутны лист и Калькуляция.
Маршрутный лист:
"
SELECT PL.*, ZK.P1 AS P15,  DM.P5 AS P16, ROUND(DM.P6,3) AS P17, ROUND(DM.P7,3) AS P18, WM.P5 AS P19, WM.P4 AS P20, WM.P3 AS P21, DP1.P3 AS P22
   FROM (
         (
           ( RptSheet AS PL LEFT JOIN Demand AS DM ON (PL.P1=DM.P1 AND PL.P2=DM.P2 AND PL.P3=DM.P3 AND DM.P4=3) )
            LEFT JOIN DemandPars AS DP1 ON (DP1.P1=DM.P8 and DP1.P13='TCS_MZ_RZ')
         ) LEFT JOIN OrdersInfo AS ZK ON PL.P6=ZK.P0
        ) LEFT JOIN WorkMans AS WM ON PL.P1=WM.P1 AND PL.P4=WM.P2
ORDER BY PL.P1, PL.P2, PL.P5


ALIAS
Идентификатор=0
ТипКласса=0
Класс=0
GROUP
NAME=G1
ID=1,2
LIST=1

"
Калькуляция:
"
SELECT *  From RptSheet


ALIAS
НомПП=4
Класс=0
ТипКласса=0
Обозначение=7
Наименование=8
Кол=10
Замена=15
ТрудНаЕдИздЧ=16
ТрудНаЕдИздМин=17
ТрудВсегоЧ=18
ТрудВсегоМин=19
Материалы=20
Расчет=21
РезультатыРасчета=22

"
Зеленое -отрабатывает округление, с красным проблемма.
Заранее благодарен.

Post's attachments

ML+CALC_bug.jpg 388.51 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

Re: Ошибки копирования данных в Excel

В новом репортере с Excel лучше ничего не делать. Есть другие способы.

Самое простое - Завести именованнованный объект Переменная https://help.technologics.ru/7.7/TCSHelp/_715.htm.
Например переменную с именем '''TrudValue''' такого вида

FormatFloatValue(Par1)


INPUT
Par1=%16

На закладке Фуккции https://help.technologics.ru/7.7/TCSHelp/_710.htm добавить код

Function FormatFloatValue( Value )
  FormatFloatValue= FormatNumber( Value, 2 )
End Function 

Теперь в бланке вместо %ТрудНаЕдИздЧ можно поставить  ?TrudValue, либо удалить алиас ТрудНаЕдИздЧ, и назвать переменную ТрудНаЕдИздЧ( при этом в бланке скорее всего надо будет написать  ?ТрудНаЕдИздЧ).

Re: Ошибки копирования данных в Excel

Добрый день.

Завели переменную по описанному Вами методу.
В отчете по калькуляции при формировании сразу ошибка с вылетом программы.
Все тоже самое в отчете Маршрутный лист - отчет отрабатывает, но переданное значение обнуляется с указанным количеством знаков после запятой (0,00).
Скрины запросов и лог прилагаю.

Что может быть не так?
Заранее благодарен.

Post's attachments

report.rar 181.64 Кб, 2 скачиваний с 2020-06-24 

You don't have the permssions to download the attachments of this post.

Re: Ошибки копирования данных в Excel

Ну в приложенном логе отчет сформировался успешно, 2 Листа.

Испаравьте  на такой код, чтоыб видеть вызов функции и результататы ее работы

Function FormatFloatValue( Value )
  Call TCSRpt.WriteReportErrorLog( "Input value=" & Value )
  FormatFloatValue= FormatNumber( Value, 2 )
  Call TCSRpt.WriteReportErrorLog( "Output value=" & FormatFloatValue )
End Function

(изменено: kvand.st, 25 июня 2020 13:14:19, причина: прикрепленный файл)

Re: Ошибки копирования данных в Excel

Посмотрите подробный лог.
Par13 принимает значение (3.60277777777778), но INPUT ничего не передает.

Post's attachments

report_ml.log 13.75 Кб, 1 скачиваний с 2020-06-25 

You don't have the permssions to download the attachments of this post.

Re: Ошибки копирования данных в Excel

13:06:25 (Trace): Get Named value (TrudValue): FormatFloatValue(Par13)

13:06:25 (Error): Input value=
13:06:25 (Error): Output value=0,00

Честно  говоря в логе вообще этого нет. И не ясно что за Par13.
В идеале должно быть так 

TrudValue такого вида

FormatFloatValue(Par1)
 
 
INPUT
Par1=%16

В бланке ?TrudValue

Re: Ошибки копирования данных в Excel

Олег Зырянов пишет:
13:06:25 (Trace): Get Named value (TrudValue): FormatFloatValue(Par13)

13:06:25 (Error): Input value=
13:06:25 (Error): Output value=0,00

Честно  говоря в логе вообще этого нет. И не ясно что за Par13.
В идеале должно быть так 

TrudValue такого вида

FormatFloatValue(Par1)
 
 
INPUT
Par1=%16

В бланке ?TrudValue

Все делали как предписано Вами.
Par1 заменили на Par13 во всех требуемых местах (как маркер отображения).
При Par1 картина происходящего не меняется.

В общем вместо * вывели все индексы таблиц в шаблонах с округлением требуемых параметров функцией ROUND.
Так вопрос прикрыли.
Единственное во встроенном шаблоне отчета "Расчет плановой себестоимости" поле RAS по RptSheet (ALIAS Расчет=21) выводит результат ввиде текстового отображения формулы (Т*К), где трудоемкость опять же имеет бесконечное число знаков после запятой.
Здесь "застряли".
По всему остальному вопрос снят.
Спасибо.