powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
25 сообщений из 385, страница 8 из 16
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39561882
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buven,

Я правильно понял, что смайлики, это стёб и глум ?

Реальные проблемы с округлением бывают в некот. случаях: СУБД/таблицы, где нельзя самовольно задать точность с плав. зпт а-ля decimal(18, 2).

Предпочитаю хранить в БД суммы как decimal(ХХ,Х).

Проблема округления НДС немного другая: иногда набегает "лишняя" копейка. Но это решается заменой алгоритма расчета, добавлением полей с предрасчитанным "правильным" округлением и т.д.

Н-р при экспорте в Аксесс (см. выше пост про интеграцию с кристалл-репортом) движок всегда создавал поле float, кот. имело 7знач. цифр и ни цифрой больше. И это иногда создавало проблему в налог.накладных. :)
Но это редкий и специфичный случай.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39561890
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЯ правильно понял, что смайлики, это стёб и глум ?

Нет, не верно ни в коем разе. Переборщил видимо с количеством.

LSVПроблема округления НДС немного другая: иногда набегает "лишняя" копейка. Но это решается заменой алгоритма расчета, добавлением полей с предрасчитанным "правильным" округлением и т.д.

В случае, например, с металлами, учет которых у нас идет в граммах, а цена устанавливается в унциях, алгоритм никак не поможет. Только махровое списывание накопившихся "лишних" граммов в утиль.

Посыл был в том, что подход "хранить суммы в копейках" не так уж безнадежен.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39561899
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае, например, с металлами, учет которых у нас идет в граммах, а цена устанавливается в унциях, алгоритм никак не поможет. Только махровое списывание накопившихся "лишних" граммов в утиль. И как в таких случаях поможет хранение в копейках ????? Напомню: спор возник именно из-за округления.

А проблема с НДС или унциями лежит вне техн. проблем.
Просто нужно административно решить, где в цифре можно ужаться. :)
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39561942
leonmbs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVникак - хранить надо в копейках и не надо никаких округленийБред. А если стоимость в некот. случаях должна быть с точн. до 5-6 знаков ?
Во всех отчетах, формах делить на 100 ?
А если редактировать надо прямо в гриде ?
Не бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39561968
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsLSVпропущено...
Бред. А если стоимость в некот. случаях должна быть с точн. до 5-6 знаков ?
Во всех отчетах, формах делить на 100 ?
А если редактировать надо прямо в гриде ?
Не бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.

Скажите это ребятам с валютного рынка :)
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39561997
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsНе бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.Это тоже стёб такой ? :)
Почитай что-ли про кросскурсы валют и драгметаллы. Там вроде 5 знаков.
Или преобразования величин: фунты-кг, унции-граммы.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39562004
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonmbsНе бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.
стоимости не бывает, но цена бывает.
Расчеты за электроэнергию 260кВт*0.12345 руб.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39562012
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerleonmbsНе бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.
стоимости не бывает, но цена бывает.
Расчеты за электроэнергию 260кВт*0.12345 руб.

Кратные единицы вполне спасут: 1мВт=1000кВт стоит 123.45 руб.
Тогда: 260кВт*123.45руб/1000
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39562096
leonmbs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVleonmbsНе бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.Это тоже стёб такой ? :)
Почитай что-ли про кросскурсы валют и драгметаллы. Там вроде 5 знаков.
Или преобразования величин: фунты-кг, унции-граммы.

речь о деньгах.
так вот - ИС так или иначе должна взаимодействовать с внешним миром - а во внешнем мире ты не придешь в банк с платежным поручением где доли копеек.
а значит все надо заведомо округлять до копеек а значим можно круглить и хранить в них.
В промежуточных вычислениях можно все что угодно делать. Речь о конечных цифрах.


vill_agerleonmbsНе бывает стоимости точнее копейки. Хотя бы потому что невозможно выполнить такой платеж.
стоимости не бывает, но цена бывает.
Расчеты за электроэнергию 260кВт*0.12345 руб.

такие величины носят справочный характер - по сути это настройки. Как налоги и всякие коефициенты и курсы валют.
Их вообще можно хранить в строковом формате.

Речь идет по сути о движении средств на аналитическом учете. А там так или иначе все вписывается в копейки потому как отображается на первичные документы
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39562142
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonmbsтакие величины носят справочный характер - по сути это настройки. Как налоги и всякие коефициенты и курсы валют.Их вообще можно хранить в строковом формате.

Эти величины не только хранятся, но и участвуют в расчетах. Хранить как строку - смешно и неудобно.

С хранением как раз проблем нет.

Но с вычислением и округлением на лету в SQL запросе - есть (в SQLite), и в Python(если из коробки).
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39562417
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsВ промежуточных вычислениях можно все что угодно делать. Речь о конечных цифрах.


Если в промежуточных вычислениях делать "все что угодно", то конечные цифры могут получиться весьма забавными. Как в классике:

- Сколько стоит капля водки?
- Одну десятую копейки, то есть с учетом округления - ноль копеек.
- Хорошо. Накапайте мне стаканчик.

Правильная работа с округлением - это как раз правильно применить (или не применять) его в промежуточных вычислениях. А для этого надо правильно поймать момент, когда "величины" превращаются в платежи.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568460
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как насчет описания экранных форм?
Изобретал ли кто велик? Или по старинке - редактор форм?
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568547
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerА как насчет описания экранных форм?
Изобретал ли кто велик? Или по старинке - редактор форм?Поскольку у меня десктоп, то редактор форм.
На нем:
1. Датасеты (просто исполняющие или возвращающие записи)
2. Визуальные контролы
3. Скрипты, если нужно что-то нестандартно обработать.

Их видимость только локальная, т.е. нельзя их использовать из другой формы. Но можно передать их значения в др. форму.

Есть возможность создать набор контролов на основании полей датасета. Удобно.
Настраиваем свойства/связи и форма готова.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568565
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV,
Возможности просто кодом описать форму нет?

Я изначально на такое закладывался, чтобы не возиться с формами всякий раз когда нужно юзера запросить период или еще что.

Правда у меня и редактора форм нет, есть описание полей формы и разметки в виде таблицы.

Зато описание формы используется для создания и обновлении таблиц БД при установке или обновлении программы.

Еще есть возможность при создании формы выполнить код, а в нем вставить в эту форму любые элементы. Использую это для кастомизации под заказчика.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568567
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerА как насчет описания экранных форм?
Изобретал ли кто велик? Или по старинке - редактор форм?

Все на автомате
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568571
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos,
ясно что на автомате. А исходник как выглядит?
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568576
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vill_ager,
у меня, если кодом, выглядит так:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
gep=sc()
gep.addLine("date",u"Дата акта",type="DATE",value=today())
gep.addLine("date1",u"Период с",type="DATE",value=const.__ed1)
gep.addLine("date2",u"по",type="DATE",value=const.__ed2)
gep.addLine("mol",u"МОЛ",type="INT",rel="spr_mol@mol@name@spr_mol",value=mem.t.r.mol)
gep.addLine("kms",u"Комиссия",type="INT",rel="spr_kms@kms@name@spr_kms",value=1)
gep.setInitSize(500,200)
gep.runForm(u"Акт на списание бланков строгой отчетности")
if gep.okPressed:
	rep=getReportByName(u"Акт на списание бланков строгой отчетности")
	if rep:
		rep.param['date']=gep.s.date
		rep.param['date1']=gep.s.date1
		rep.param['date2']=gep.s.date2
		rep.param['mol']=gep.s.mol
		rep.param['kms']=gep.s.kms
		rep.run()


Описываем форму, запускаем, если ОК - запускаем отчет с параметрами из формы
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568578
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerViPRos,
ясно что на автомате. А исходник как выглядит?

как то так
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568585
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

аа, нет никакого кода
есть метаданные
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568586
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

как-то так
Код: c#
1.
return Common.Form(metaModel);
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568588
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agervill_ager,
у меня, если кодом, выглядит так:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
gep=sc()
gep.addLine("date",u"Дата акта",type="DATE",value=today())
gep.addLine("date1",u"Период с",type="DATE",value=const.__ed1)
gep.addLine("date2",u"по",type="DATE",value=const.__ed2)
gep.addLine("mol",u"МОЛ",type="INT",rel="spr_mol@mol@name@spr_mol",value=mem.t.r.mol)
gep.addLine("kms",u"Комиссия",type="INT",rel="spr_kms@kms@name@spr_kms",value=1)
gep.setInitSize(500,200)
gep.runForm(u"Акт на списание бланков строгой отчетности")
if gep.okPressed:
	rep=getReportByName(u"Акт на списание бланков строгой отчетности")
	if rep:
		rep.param['date']=gep.s.date
		rep.param['date1']=gep.s.date1
		rep.param['date2']=gep.s.date2
		rep.param['mol']=gep.s.mol
		rep.param['kms']=gep.s.kms
		rep.run()



Описываем форму, запускаем, если ОК - запускаем отчет с параметрами из формы

Ничего этого нет.
Есть модель предметной области и соглашения о визаулизации.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568594
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRos,

как-то так
Код: c#
1.
return Common.Form(metaModel);





Точно, что то такое
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568611
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos,

и сколько "стоит" сделать такое окно?
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568619
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_ager,

что в нём такого? 5 полей, которые можно описать мета-моделью и сгенерировать автоматом.
описывать или рисовать такие формы (а считаю, что вообще любые в enterprise) вручную -- это обезьянья неблагодарная работа, которую стыдно делать даже с помощью очень дешёвой рабочей силы.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39568632
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_agerViPRos,

и сколько "стоит" сделать такое окно?

нисколько
я же показал намного сложнее формы
...
Рейтинг: 0 / 0
25 сообщений из 385, страница 8 из 16
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]