Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата

Наши программы => УкрСклад => Тема розпочата: sunrise від Червень 26, 2008, 19:34:06

Назва: Ценники без копеек
Відправлено: sunrise від Червень 26, 2008, 19:34:06
В настройках программы указал округление до 100 копеек. В справочнике и в прайсе цены отражаются без копеек.
Но вот на ценниках с копейками... Как можно это исправить?
Назва: Re: Ценники без копеек
Відправлено: sunrise від Червень 26, 2008, 21:34:57
Вопрос снят, так как по умолчанию почему-то в отчете "Ценники" стоит проходная цена - причина была в этом
Назва: Re: Ценники без копеек
Відправлено: AVDcomp від Лютий 01, 2016, 08:54:51
Дабы не плодить новые темы
Вопрос такого плана - надо цену в ценнике без копеек, но чтобы после тысяч была запятая или точка.... - 10.280 или 10,200  ????
Назва: Re: Ценники без копеек
Відправлено: admin від Лютий 01, 2016, 17:41:33
Цитата: AVDcomp від Лютий 01, 2016, 08:54:51
Дабы не плодить новые темы
Вопрос такого плана - надо цену в ценнике без копеек, но чтобы после тысяч была запятая или точка.... - 10.280 или 10,200  ????

Обычной FormatFloat это не сделать т.к. он использует глобальный ThousandSeparator, а он у нас в программе убран т.е.
ThousandSeparator = "";
Назва: Re: Ценники без копеек
Відправлено: admin від Лютий 02, 2016, 12:44:23
Вот простенькая функция на FastScript, вставляете ее в печатную форму на закладку Код:
String ThousandSeparate(Extended aValue)   
{
  String retValue = FormatFloat("0", aValue);
  if(Length(retValue) <= 3)
    return retValue;
  int tmpThousandCount = 1;
  for(int i = Length(retValue);i >= 1; i--)
  {
    if((tmpThousandCount == 3) && (i != 1))
    {       
      Insert(",",retValue,i);
      tmpThousandCount = 1;               
    }
    else
    {       
      tmpThousandCount++;
    }               
  }
  return retValue;
}


Использование [ThousandSeparate(135556512.2222)]
если например надо вставить вместо стандартной:
Ціна: [ToNacValuta(StrToFloat(<Товар.Цена.Розничная>), <Товар.Цена.Валюта.Расходная.Номер>)] грн.
то используйте так:
Ціна: [ThousandSeparate(StrToFloat(ToNacValuta(StrToFloat(<Товар.Цена.Розничная>), <Товар.Цена.Валюта.Расходная.Номер>)))] грн.