Не получается SLK

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Не получается SLK

Сообщение Natalika »

Еще раз здрасьте всем.
Делаю на основе стандартного галактического отчета SLK-отчет...
т.е. скопировала в ексел подформатировала... сохранила... откомпилировала... подцепила... но почему то суммы выкидываются без дробной части... кто знает что я не так делаю??? :? :cry:
Я не торможу, я уже приехала!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

помоему числа в экселе надо приводить к строке по формату такого типа и выводить в галки:
// Формат для вывода сумм
efSumFormatExcel = '[|-]3666666666666666666[|,]99';

// Формат для вывода Колличественных чисел
efKolFormatExcel = '[|-]3666666666666666666';

// Формат для вывода дат
efDateFormatExcel = 'DD.MM.YYYY';

// Формат для вывода месяцев в формате дата (период)
efPeriodFormatExcel = 'MM.YYYY';
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Цифири:
Формат ячейки указать явно.

.fields
string ( MyDouble, 0, 2 );
.endfields
^

2-количство цифр после запятой.

Даты:
Формат ячейки указать явно.
.Function d2excel(dt : date):string;
begin
IF (dt=date(00,00,0000)) then d2Excel := 'Нет даты'
else d2Excel := string(CalcDaysBetweenDates(date(01,01,1900),Add_Day(dt,1),false));
end.

.fields
d2Excel ( MyData )
.endfields
^
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Спасибо!!!

Сообщение Natalika »

Огромное спасибо получилось!!! :D :D :D
А никто не знает с какой стати то он обрезает дробную часть???
Я не торможу, я уже приехала!
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Потому что галочка - это тип строки...потому и обрезает. По умолчанию приводит число к строке к целому виду.
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Re: Спасибо!!!

Сообщение san »

Natalika писал(а):А никто не знает с какой стати то он обрезает дробную часть???
Дурное дело - не хитрое 8)
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Сообщение Natalika »

Понятно, теперь... Всем огромное спасибо за оперативность...
А то наши бухгалтера чуть меня не съели!!! :lol: :lol:
Я не торможу, я уже приехала!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

.fields
if (double(SumRs4)=0,'',DoubleToStr(double(SumRs4), '[|-]3666666666666666666[|,]99'))
.endfields
Сумма &

пример взят из поставки frm\buh\slk
п.с. в папке frm можно найти много примеров в ответ на многие вопросы, стоит поискать фаром нужную конструкцию по файлам.
solkalin
Постоянный гость
Сообщения: 60
Зарегистрирован: 23 ноя 2011, 11:59

Re: Не получается SLK

Сообщение solkalin »

string(CalcDaysBetweenDates(date(01,01,1900),Add_Day(dt,1),false));
В slk из прототипа лезла дата: string;
В slk не отображалась как дата, пока не сделаешь F2+Enter.

Совет с CalcDaysBetweenDates - помог. Спасибо!!!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Не получается SLK

Сообщение edward_K »

можно добавить
.slknumber
и установить формат ячеек.
Ответить