|
![]() |
#1 |
Участник
|
А как без программиста вы предлагаете поменять поля местами? В принципе, пользователю можно установить редактор шаблонов отчетов и по кнопочке пусть он открывает отчет в редакторе.
Вы видели картинки редактора отчетов в Fast Report, которые я приводил? Там любой обученный человек сможет поменять поля местами. Если можете предложить механизм, который непрограммисту позволит сформировать дизайн счета-фактуры, то на это интересно будет посмотреть. А поменять поля местами в Fast Report - проще простого. Добавить новый шаблон пользователи у нас могут, задать количество копий могут. Если бы поставили вопрос о том, чтобы самим редактировать шаблоны, я бы им сделал. Там очень легко в Fast Report делается. Последний раз редактировалось Ace of Database; 11.10.2011 в 21:02. |
|
![]() |
#2 |
Участник
|
Чтобы поменять поля местами, достаточно поменять их только в шаблоне.
Программист не нужен, т.к. шаблон очень просто редактировать. |
|
![]() |
#3 |
Участник
|
Цитата:
"Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс" Т.е. фактически, в отчете, программно формируете содержимое одного поля отчета. Теперь, предположим, клиент хочет оставить тот же самый дизайн, но изменить содержимое одного поля отчета. Т.е. хочет чтобы в том же самом месте текст формировался чуть по другому. Например, так "Организация-грузоотправитель" = "Название" + "Адрес" + "Факс" + "Телефон" Так вот, Ваша реализация предполагает, что это будет либо новый дизайн, либо новый класс. Т.е. предполагает работу программиста. Хотя очевидно, что, если предоставить некую специфическую форму по формированию содержимого полей отчета это вполне мог бы сделать и пользователь. Явно ведь, что это чисто "настроечная" задача. "Поле отчета" - это "Организация-грузоотправитель", а "Название", "Адрес", "Факс", "Телефон" - это некие условные "слагаемые", некие "кубики" из которых пользователь через специальную настроечную форму будет "складывать" содержимое "поля" Подобная схема позволяет именно через настройки легко менять содержимое без изменения дизайна. Например, хочет клиент вместо юридического адреса указывать адрес доставки - пожалуйста. Хочет кроме адреса добавить еще и банковские реквизиты - не проблема! И все это исключительно настройками. Без программирования! Хотя, конечно, изменение дизайна тоже могут потребоваться. Но объем работы программиста существенно снизится. Т.е. эта настроечная форма будет дополнением к Вашей схеме, а не ее заменой. |
|
![]() |
#4 |
Участник
|
Нет, вы неправильно поняли
![]() Чтобы сформировать строку вида "Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс" в дизайне отчета создается один (!) элемент, внутри которого можно писать константный текст, а можно чередовать поля с данными. Содержание элемента для вашего примера будет таким: <<<Организация-грузоотправитель: [Клиент."Название"];[Клиент."Адрес"];[Клиент."Телефон"];[Клиент."Факс"]>>> Квадратные скобки открывают и закрывают поля с переменными данными. Вы можете просто поменять внутри элемента текст, переставить местами два поля. Вот как это выглядит в редакторе. На примере в отчет будет выведено слово "Плательщик", за ним последует поле "Название плательщика", затем последует адрес плательщика. Если название и адрес надо поменять местами, то их просто надо в тексте контрола поменять местами ![]() Последний раз редактировалось Ace of Database; 12.10.2011 в 11:59. |
|
![]() |
#5 |
Участник
|
Можно вообще в одном контроле располагать текст и данные произвольно, в том числе в многострочном виде. Вот пример контрола, внутри которого содержится сразу несколько граф, в которых чередуются подписи и данные:
|
|
![]() |
#6 |
Участник
|
В приведенном примере вместо текста [CTD_ReportSummary1."ManagerName"] будет вставлена фамилия руководителя.
А вместо [CTD_ReportSummary1."IManName"] будет вставлена фамилия бухгалтера. Последний раз редактировалось Ace of Database; 12.10.2011 в 12:06. |
|
![]() |
#7 |
Участник
|
Цитата:
![]() Несколько наводящих вопросов: 1. КТО будет это делать? Программист или пользователь? 2. Результат модификации - это ЧТО? Новый класс, новый отчет? 3. А БЕЗ создания новых объектов (классов, отчетов) для подобной модификации обойтись нельзя? Ну, если не всегда, то хотя бы в "половине" случаев? Судя по Вашему ответу, задача настройки решается программными средствами. Можно, конечно. Только, как я и говорил, программист превращается в "генератор отчетов" ![]() |
|
![]() |
#8 |
Участник
|
Отвечаю на вопросы (если надо переставить местами два поля)
1. Это будет делать тот, что владеет дизайнером отчетов в Fast Report. Перепрограммировать ничего не надо. 2. Результат модификации - новый шаблон отчета (файл), чтобы система его подцепила, надо указать его в настройках. Можно в том же шаблоне отчета поменять поля местами, тогда настраивать ничего не надо. Вы что, никогда не создавали шаблонов в Эксель? Это то же самое. Если надо ихменить существующий шаблон, то просто сохраняете изменение в файле, если надо поменять поля местами в новом файле, то просто сохраняете измененный файл под новым именем. Только в этом случае файл с новым именем надо указать в настройках клиента. Ничего программировать не надо, если не добавляется новых полей (которых еще нет нигде в этом отчете), и если не изменяется алгоритм заполнения полей. Расположение полей в отчете не имеет никакого значения для программиста. |
|
![]() |
#9 |
Участник
|
Я думаю не как программист. Зачем вы вешаете ярлыки, не зная всех моих мотивов?
![]() Скорее, я думаю как коммерсант. У меня есть пара коробочных продуктов. Через некоторое время я их представлю, и может быть получу даже заказы на внедрение ![]() Один из этих продуктов я вкратце описал здесь. Fast Report сам по себе тоже пришлось допиливать, чтобы получился гибкий функционал. Просто так проекты к этим продуктам разместить не могу, т.к. требуется внедрение, обучение. Все заработает скорее всего на первый же день. Просто интрумент настолько гибкий и мощный, что придется какое-то время консультировать заказчиков по его использованию. Еще пока до конца не уверен, стоит ли ввязываться во все это ![]() |
|
![]() |
#10 |
Участник
|
Ну, я исходил из предложенного Вами способа решения поставленной задачи. Чисто программистский. Написать код, изменить шаблон. Это не есть работа пользователя. Если обидел, то извините. Ничего плохого не имел в виду...
|
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
![]() Я не про изменение дизайна, а про изменение содержимого существующих полей. Если отвлечся от конкретных значений, то бланк, например, товарной накладной ТОРГ-12, имеет следующие "поля"
"Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс" Т.е. фактически, в отчете, программно формируете содержимое одного поля отчета. Теперь, предположим, клиент хочет оставить тот же самый дизайн, но изменить содержимое одного поля отчета. Т.е. хочет чтобы в том же самом месте текст формировался чуть по другому. Например, так "Организация-грузоотправитель" = "Название" + "Адрес" + "Факс" + "Телефон" Так вот, Ваша реализация предполагает, что это будет либо новый дизайн, либо новый класс. Т.е. предполагает работу программиста. Хотя очевидно, что, если предоставить некую специфическую форму по формированию содержимого полей отчета это вполне мог бы сделать и пользователь. Явно ведь, что это чисто "настроечная" задача. "Поле отчета" - это "Организация-грузоотправитель", а "Название", "Адрес", "Факс", "Телефон" - это некие условные "слагаемые", некие "кубики" из которых пользователь через специальную настроечную форму будет "складывать" содержимое "поля" Подобная схема позволяет именно через настройки легко менять содержимое без изменения дизайна. Например, хочет клиент вместо юридического адреса указывать адрес доставки - пожалуйста. Хочет кроме адреса добавить еще и банковские реквизиты - не проблема! И все это исключительно настройками. Без программирования! Хотя, конечно, изменение дизайна тоже могут потребоваться. Но объем работы программиста существенно снизится. Т.е. эта настроечная форма будет дополнением к Вашей схеме, а не ее заменой. Последний раз редактировалось ice; 12.10.2011 в 12:04. |
|
![]() |
#12 |
Участник
|
Пользователю это знать не надо. Пользователь видит некоторые условные "кубики". Например, "Телефон", "Название клиента", "Юридический адрес". И используя эти "кубики" формирует требуемый текст. А уже программный код, по названию "кубика" сам "понимает" откуда надо взять информацию.
|
|
![]() |
#13 |
Участник
|
Да, то это альтернатива, согласен
![]() Но у всего есть свои плюсы и минусы. В Fast Report пользователь сразу видит поля на своем месте. Недостаток конечно есть в том, что поля обозначаются латинскими буквами, и если надо добавить новое поле, то пользователь не знает как оно называется. |
|
![]() |
#14 |
Участник
|
Но копировать, размножать и переставлять местами поля в Fast Report одно удовольствие.
Всякие линии там рисовать ![]() |
|
![]() |
#15 |
Сенбернар
|
Цитата:
Цитата:
![]()
__________________
Best Regards, Roman |
|
![]() |
#16 |
Участник
|
Как я уже говорил, я рассматриваю эту схему не как "замену", а как "дополнение". Цель - хотя бы часть работы по настройке печатных форм переложить на пользователя. Однако, к сожалению, совсем исключить из этой цепочки программиста - не получается
Цитата:
Цитата:
Сообщение от Ace of Database
Но копировать, размножать и переставлять местами поля в Fast Report одно удовольствие.
Всякие линии там рисовать |
|
![]() |
#17 |
Участник
|
У нас есть пользователи, которых пользоваться стандартными фильтрами за годы так и не научить. Некоторые просто не хотят включать мозги. Административные методы не помогают
![]()
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
![]() |
#18 |
Участник
|
Цитата:
Некие "метаданные" разработать. Но все-таки я представил, как бы это работало на нашем предприятии. Мне кажется, все-таки это дополнительно усложнит модификацию печатных форм. т.к. в случае добавления нового поля, нужно будет добавить это поле 1) в таблицу Аксапты 2) в шаблон отчета 3) в код, который выводит данные 4) в метаданные А без использования метаданных остается только 3 пункта. Последний раз редактировалось Ace of Database; 12.10.2011 в 13:25. |
|
![]() |
#19 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
![]() Пользователю это знать не надо. Пользователь видит некоторые условные "кубики". Например, "Телефон", "Название клиента", "Юридический адрес". И используя эти "кубики" формирует требуемый текст. А уже программный код, по названию "кубика" сам "понимает" откуда надо взять информацию.
|
|
![]() |
#20 |
Участник
|
Это Вы о чем? Вы не знаете какой именно документ печатаете? Какая запись из каких таблиц соответствует конкретному печатаемому документу?
Так не бывает. Один документ (заказ) - один, вполне конкретный, способ формирования данных. Если Вы имеет в виду, что в зависимости от неких реквизитов документа надо печатать по другому, то пользователь сам, в зависимости от этих самых реквизитов, и должен указать соответствующий набор печатных форм (с соответствующими настройками способа формирования) Это уже задача программиста. Изменение дизайна отчета настройками, в общем случае, не решается Так я и не говорил, что это решение для общего случая. Я говорил, что подобное решение позволит ЧАСТЬ задач по настройке печатных форм переложить на пользователя. Причем довольно существенную часть |
|
Теги |
как правильно, накладная, печатная форма, полезное, счет-фактура |
|
|