ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование отчетов  / Взять 3 знака стоимости материалов .

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Взять 3 знака стоимости материалов .
 
Б5 34.31.9
Здравствуйте. В оборотных ведомостях запасов разработали пример для переброски в эксель.
Необходимо модернизировать, чтоб цена бралась из номенклатурной карточки т.е 3 знака после запятой.
Сейчас тянется 2 знака из картотеки склада. Идут расхождения между БЭСТ и Экселем при списании.
В формуле вычисления не разобрался, по сравнению с полями Фастрепорта Б4, тут все на английском.))
Это пока самое важное.
2. Как можно организовать вывод его в эксель сразу формате. В стандартных формах Б5, появилось окно Вывод с выбором, было бы Хорошо и здесь научится так применить.
3. В экселе отсортировано по наименованию, как это организовать в отчете?
Изменено: ВАЛЕРИЙ БОНДАРЧУК - 05.03.2014 11:17:35
 
1. На стр.5 Вашего отчета по кнопке "Выполнить", есть переменная GlobalMask, которая определяет вывод точности знаков после запятой для стоимостных полей. Вместо текущего значения, укажите следующую строку: GlobalMask := '#,##0.###;; '; Это позволит вывести три знака после запятой, как Вы и хотели.
2.Вывод в Excel "напрямую" в двух словах описать не получится. Можете попробовать сделать по аналогии с каким-нибудь другим отчетом из того же АРМа, если сможете самостоятельно разобраться.
3. Для вывода сортировки по наименованию, у основного источника DataSet1 есть свойство cSorting. Передайте этому свойству значение сортировки, например так : DataSet1.Params['cSorting'] := 'LNM' и вывод данных пойдет по наименованию номенклатуры. Параметры источника устанавливаются по кнопке "Выполнить" на стр.5.
 
Спасибо получилось.
Оказалось что сортировка по наименованию присутствует в карточке запроса, а как сделать, чтоб она там стояла по умолчанию.
а то там сейчас номенклатурный номер.
Параметр DataSet1.Params['cSorting'] : нашел но там их несколько строк, какой изменить не знаю.

Оказалось нужно еще и выводить номер группы слева, попробовал вставить это в отчет.
Почемуто выводит ее, только один раз и как то посередине строк.
Изменено: ВАЛЕРИЙ БОНДАРЧУК - 05.03.2014 16:38:26
 
Цитата
ВАЛЕРИЙ БОНДАРЧУК пишет:
Оказалось что сортировка по наименованию присутствует в карточке запроса, а как сделать, чтоб она там стояла по умолчанию.
а то там сейчас номенклатурный номер.
Надо в дизайнере открыть свойство OnActivate у карточки запроса (щёлкнуть на самой карточке, лучше всего внизу, под источниками).
Там есть выражение pOrder.ItemIndex := 0; , оно устанавливает значение, отображаемое по-умолчанию в поле сортировка. Нумерация начинается с нуля, следовательно 0 - это первый элемент списка Item. "Наименование" идёт в списке Item вторым, следовательно если исправить на pOrder.ItemIndex := 1; то по-умолчанию будет предложена сортировка по наименованию.

С уважением, Новиков Алексей.
 
Цитата
ВАЛЕРИЙ БОНДАРЧУК пишет:
Почемуто выводит ее, только один раз и как то посередине строк.
Поле "группа" не лежит целиком на бэнде . Оно смещено выше, поэтому воспринимается генератором не как поле на бэнде, а как поле на листе. Поэтому и выводится только один раз, ведь лист не связан с источником.
Опустите поле на 1 пиксель вниз и всё станет нормально.
Изменено: Алексей Новиков - 06.03.2014 09:24:00

С уважением, Новиков Алексей.
 
Большое спасибо Алексей Юрьевич - все получилось!
Теперь осталось нам совместно разработать выгрузку в эксель формате.
Прочтите пожалуйста свою почту.
 
День добрый.
Можно я не в тему, только скриншот.
Это "живой" отчет в Qlikview. Показатели и измерения можно делать по ситуации,
Табличку формируем набором покзаателей и измерений + фильтр.Выгрузка в Excel - легко.
Временем проверено.
FastReport и прочие способы получения пользовательских отчетов забыты.
[img]http://qlikview-forum.ru/qvf/MGalleryItem.php?id=27[/img]

Ссылка для просмотра
С уважением,
Ильин Евгений
 
Цитата
ВАЛЕРИЙ БОНДАРЧУК пишет:
Теперь осталось нам совместно разработатьвыгрузку в эксель формате.
Под кнопку "Выполнить" в конце скрипта (после GlobalMaskEI:=...) положите код

Код
//ВЫГРУЗКА В EXCEL

//ВНУТРЕННЕЕ НАЗВАНИЕ ОТЧЕТА (Передача параметров: NAME##FONT)
   DataSet1.Params['cReportToExcel']:= 'OBOROT##';
//ЗАГОЛОВОК ОТЧЕТА (Передача параметров: NAME##DEC##FONT)
   cTitStr := cTitStr + '##-##'+if(VALIDINT(pExportFont.text)=true,TRIM(Str(StrToInt(pExportFont.text)+2)),'10');
   DataSet1.Params['cTitleToExcel'] := '';

//ОБЛАСТЬ ДАННЫХ ПОСЛЕ ЗАГОЛОВКА (Передача параметров: NAME(FILMES)##NAME(FILTER)##FONT)
   DataSet1.Params['cFilterToExcel'] := '';
   DataSet1.Params['cFilterToExcel'] := DataSet1.Params['cFilterToExcel'] + '###';

//ТАБЛИЧНАЯ ЧАСТЬ ОТЧЕТА (ШАПКА) (Передача параметров: NAME##DEC##WIDTH##BLOCK##FONT)
   DataSet1.Params['cColToExcel'] :='';

//ГРУППИРОВКА СТРОК (Передача параметров: NAME##COLSUM##DEC##FONT)
   DataSet1.Params['cItogToExcel'] :=''; ig := 0;
//СКЛАД (заголовок)

//ПОЛЯ ВЫВОДА (Поля таблицы REP_)
   ss := [TRIM(STR(GLOBAL('Curr_Accur')))];
   DataSet1.Params['cFieldToExcel'] := ' GRUP, NNUM, LNM, ED, ROUND(SE/KE,'+ss+') AS CE, KB, ROUND(SB,'+ss+') AS SB, KP, ROUND(SP,'+ss+') AS SP';

//Итоговая строка

   DataSet1.Open;

   cTabl := DataSet1.Params['cTableToExcel']+'.DBF'+'@';
   cTabl := CallBlueFuncFR('common','CallExcelFromFR',cTabl);
   [STOPREPORT()];
 

Вместо формирования отчёта будет сразу формироваться файл excel.

Я так понял, что Вы выводите, цену, остаток на начало (количество, сумма) и приход (количество, сумма). Если не так, то поправляется в списке полей в строке DataSet1.Params['cFieldToExcel'] :=...

С уважением, Новиков Алексей.
 
Алексей Юрьевич спасибо.
Но пропало 3 знака после запятой в цене.
Где это изменить??
 
Заменить строку
ss := [TRIM(STR(GLOBAL('Curr_Accur')))];
на
ss:='3';

С уважением, Новиков Алексей.
 
СЛАВА ГЕРОЯМ. ПОПРОБУЮ ОТПРАВИТЬ ПОЗДРАВЛЕНИЕ ВАМ!
P.S. Напишите пожалуйста мне на почту ваши реквизиты и телефон.
 
Никак не могу привязать к форме название организации и период расчета
Ставил и в заголовок и к кнопке расчет, но так и не выводит.
Пока заполняют в ручную.
 
Строку:
DataSet1.Params['cTitleToExcel'] := ''
замените на:
DataSet1.Params['cTitleToExcel'] := FIRM('LBL_NAME') + '###' +
'Сводная оборотная ведомость за период с '+ FORMATDATETIME('dd.mm.yyy',[DataSet1.Params['dBP']]) +
' по ' + FORMATDATETIME('dd.mm.yyy',[DataSet1.Params['dEP']]);
Следующие две строки можно закомментировать, чтобы в отчет не выводились пустые строки:
// DataSet1.Params['cFilterToExcel'] := '';
// DataSet1.Params['cFilterToExcel'] := DataSet1.Params['cFilterToExcel'] + '###';
Получится не совсем красиво - название предприятия будет выводится по центру строки. Можно прижать и к левому краю, но для этого надо дорабатывать фоксовый источник.
 
Большое спасибо Сергей. Все работает.

Просветите пожалуйста, как удалять лишние формы из списка отчетов.
А то делаю пробы, на экране отчетов становится больше. А хочется минимализма и однозначности.
 
Ответ нашел поиском.
http://bestnet.ru/support/forum/index.php?PAGE_NAME=message&FID=8&TID=6212&MID=47030&tags=&q=%F3%E4%E0%EB%E8%F2%FC&DATE_CHANGE=0&order=relevance&s=%CD%E0%E9%F2%E8#message47030
 
"1. На стр.5 Вашего отчета по кнопке "Выполнить", есть переменная GlobalMask, которая определяет вывод точности знаков после запятой для стоимостных полей. Вместо текущего значения, укажите следующую строку: GlobalMask := '#,##0.###;; '; Это позволит вывести три знака после запятой, как Вы и хотели." Как округлить количество до трех знаков после запятой в ТОРГ-12?
 
В прямоугольнике для вывода количества надо установить в свойстве DisplayFormat тип выводимого значения "Число" и задать требуемое количество десятичных знаков.
 
На печатной форме ТОРГ-12 эти три знака в количестве как можно получить?
 
В шаблоне формы "Товарная накладная ТОРГ-12" на стр.4 выбираете мышкой объект Memo352 (на секции MasterData в колонке "Количество (масса нетто)" ). В инспекторе свойств на свойстве DisplayFormat жмёте кнопку с тремя точками. Откроется окно определения формата. Там в левой части засветка будет стоять на слове "Текст". Надо поставить засветку на "Число", а в правой части выбрать формат "1234,50". В поле "Дес. знаков" ввести цифру 3. Такую же операцию выполнить для объектов Memo463 и Memo447 - эти объекты выводят итоговые значения количества.
 
Спасибо большое за совет. Тоже была с этим проблема. Теперь знаю как поступить.
Страницы: 1
Читают тему (гостей: 1)