Re: Проект учёта материальных средств учреждения (организации)
Пожалуйста прикладывайте проект с описанием шагов, чтобы увидеть данный отчет.
My Visual Database → Russian → Проект учёта материальных средств учреждения (организации)
Пожалуйста прикладывайте проект с описанием шагов, чтобы увидеть данный отчет.
Проблема до сих пор не решена.
Прошу помощи в создании отчёта. Проект прилагается. С главной формы по кнопке "Звіти" ("Отчёты") перейдите на форму 2. Выберите материал и кнопкой "Картка" ("Карточка") сформируйте карточку материала.
1) Вместо суммы выдач в итоговой ячейке записывается последовательность величин выдач.
2) Не знаю, как в ячейке "остаток" прописать формулу вычисления остатка после каждой операции.
В продолжение предыдущей записи прилагаю изображение отчёта с обозначенными проблемами
особо не вник... дел много.. Но может костыль....
в поле сумировать.... а потом в отчет ?
у меня везде костыли)))
особо не вник... дел много.. Но может костыль....
в поле сумировать.... а потом в отчет ?
у меня везде костыли)))
Увы, не понимаю, что такое "костыль"
специально запелил тестовый проект, что бы проверить
все работает... может ошибка не в самом отчете
в Вашем проекте попытался по разному получить отчет и каждый раз одно и тоже
не может ли это возникнуть из-за разных версий ... или может быть поля amountMINUS и amountPLUS с начало были текстовыми а в итоге вы перевели их в челое число
попробуйте сделать у себя простой проект с простым отчетом типа такого
Сделал простенький проект. Результат тот же. Выражение
[SUM(<Report."rashod">,MasterData1)]
даёт не сумму, а последовательность цифр
На форуме https://www.fastreport.ru/ru/forum/inde … topic=4120 нашёл обсуждение аналогичной проблемы, но как это решить практически? Где и какой код нужно записать в данном конкретном случае?
А покажите код, который передает данные в отчет из вашей программы...
А покажите код, который передает данные в отчет из вашей программы...
SELECT
tovarName.tovarName,
tovar.prihod,
tovar.rashod
FROM tovar
LEFT OUTER JOIN tovarName ON tovar.id_tovarName=tovarName.id
m.prokhachev wrote:А покажите код, который передает данные в отчет из вашей программы...
SELECT tovarName.tovarName, tovar.prihod, tovar.rashod FROM tovar LEFT OUTER JOIN tovarName ON tovar.id_tovarName=tovarName.id
это именно SQL-запрос, а я имел в виду скрипт, если вы через скрипт подготавливаете данные для передачи в модуль формирования отчета...
или вы через кнопку с действием "Отчет" передаете данные?
Просто там же в приведенной теме есть и решение проблемы. Вы посредством кнопки с действием "отчет" передаете значения как строки, поэтому FastReport проводит конкатенацию строк, а не суммирование чисел. Вам надо передавать данные как числа. На самом деле, в простом виде это может Дмитрий решить, усовершенствовав в MVD действие кнопки "отчет".
На самом деле, в простом виде это может Дмитрий решить, усовершенствовав в MVD действие кнопки "отчет".
Но Дмитрий, к сожалению, молчит. Интересно, неужели это только у меня такая проблема? И никто с этим никогда не сталкивался? И о какой приведенной теме Вы говорите?
Вот скачал ваш проект, оформил шаблон отчета, выставил суммирование в поле - и не работает... Вообще никак. Пробовал по всякому. Не пойму, почему. Хотя формально все нормально и корректно. Я даже нули в базу поставил вместо NULL - и то не помогло.
И о какой приведенной теме Вы говорите?
Которую вы привели в посте номер 36 этой темы.
Там чуваки программно, при помощи скрипта, решили этот вопрос. Ребята там формируют отчет при помощи скрипта, а не автоматически как в MVD.
отчет видимо определяет как string а не integer
попробуйте преобразовать тип данных https://docs.microsoft.com/ru-ru/sql/t- … erver-2017
Проблема до сих пор не решена.
Прошу помощи в создании отчёта. Проект прилагается. С главной формы по кнопке "Звіти" ("Отчёты") перейдите на форму 2. Выберите материал и кнопкой "Картка" ("Карточка") сформируйте карточку материала.
1) Вместо суммы выдач в итоговой ячейке записывается последовательность величин выдач.
Такое может случится, когда SQLite не определяет тип поля в результате SQL запроса. Причина тому, что первая запись несодержит данных для данного поля, т.е. NULL, чтобы этого избежать, оформите числовые поля в SQL запросе таким образом
IFNULL(order_details.amountMINUS, 0) AS "amountMINUS"
Т.е. SQL запрос будет начинаться так:
SELECT
IFNULL(order_details.amountMINUS, 0) AS "amountMINUS",
IFNULL(order_details.amountPLUS, 0) AS "amountPLUS",
...
Тогда вместо пустого значения будет напечатан ноль и подсчет в отчете заработает.
2) Не знаю, как в ячейке "остаток" прописать формулу вычисления остатка после каждой операции.
Написал скрипт в отчетах для расчета остатка.
Исправленный проект приложен к сообщению.
СПАСИБО, ДМИТРИЙ! ВСЁ РАБОТАЕТ КАК И ХОТЕЛОСЬ!
Доброго всем последнего дня лета!
Если при клике по таблице "product" в текстовом поле Edit2 (product.id) отображается id выбранного продукта, то как сделать, чтобы в ComboBox1 (order_details.id_product, productName) отобразилось наименование продукта с этим id?
Скрипт
procedure Form2_Edit2_OnChange (Sender: string);
begin
Form2.ComboBox1.dbItemID := SQLExecute ('SELECT IFNULL(id_product, -1) FROM order_details WHERE id='+Form2.Edit2.sqlValue);
end;
в данной ситуации не работает.
Вроде должно работать, пожалуйста прикладывайте проект.
Вроде должно работать, пожалуйста прикладывайте проект.
Это ведь разные таблицы
Сделайте так
procedure Form2_TableGrid2_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
Form2.ComboBox1.dbItemID := Form2.TableGrid2.dbItemID;
Form2.Button5.Enabled := True;
end;
Form2_Edit2_OnChange не нужен.
Работает. Спасибо!
И вновь у меня проблема с отчётом. Надеюсь, что последняя - проект работоспособен и уже работает. Не могу сделать ведомость по остаткам ТМЦ. Проблема в общем-то похожа на предыдущую - как вычислить сумму значений вычисляемых полей... Крутил и так, и этак, но сам не могу. Проект прилагаю. Вход через админа. На главной форме вверху кнопка "Звіти", далее кнопка "Залишки ТМЦ". Ведомость формируется.
Нет итоговых значений по группам и по всей ведомости.
Также хотелось бы, чтобы нулевые остатки не включались в отчёт.
Для итоговых значений необходимо сделать так, как по группам так и по всей ведомости
[SUM(<Report."product.calc_ostatok"> * <Report."cost"> ,MasterData1)]
Для того чтобы скрыть нулевые остатки, в скриптах отчета необходимо создать событие OnBeforePrint для MasterData1
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
MasterData1.Visible := <Report."product.calc_ostatok"> <> 0;
end;
Исправленный проект приложил к сообщению
My Visual Database → Russian → Проект учёта материальных средств учреждения (организации)
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi