11.10.2011, 19:08 | #21 |
Участник
|
Ace of Database
Парочка вопросов: 1. Я так понимаю, что по кнопке "Обработка" галка "Печать" - не активна и всегда снята? Печать выполняется через отдельную кнопку? Кстати, возможна ли печать проформы или только уже обработанных документов? 2. Как решается задача одинакового дизайна отчета, но разного формирования содержимого? Ну, например, один клиент хочет, чтобы было напечатано "тел: 999999, факс: 888888", а другой хочет наоброт: "факс: 888888, тел: 999999" Делаются разные классы? |
|
11.10.2011, 19:34 | #22 |
Участник
|
Ответы на вопросы:
1. Кнопку обработки накладной спрятали. На заказе сделали кнгопку "Документы", внутри которой есть пункты "Накладная", "Счет-фактура" и т.д.В момент убытия машины накладная и счет-фактура автоматически печатаются в составе комплекта документов. В дальнейшем их можно напечатать отдельно по кнопке. Накладная обрабатывается программно при переводе рейса в статус "Убыло". В этот момент обрабатывается только отборочная накладная. Если разнесена отборочная, то печатается по данным отборочной, если финансовая накладная, то по данным финансовой. Через некоторое время бухгалтерия выполняет так называемое "Закрытие накладной", после которого разносится финансовая накладная и счет-фактура. Она может отличаться от отборочной. После этого накладная по той же кнопке печатается на основании нормальной накладной. Накладную можно печатать из нескольких мест: из журнала накладных, из комплекта документов, из заказа. Все стандартные кнопки печати спрятаны, выведены новые кнопки печати. Сами пользователи не знают понятий "Проформа", "Отборочная накладная". Для них существует заказ и рейс. По заказу можно напечатать одну накладную, по рейсу - столько накладных, сколько заказов в рейсе. 2. Для одного типа документа независимо от количества различных шаблонов, всегда один и тот же класс. В случае каких-то отличий делается только новый шаблон. В приведенном Вами примере, будет создано два шаблона, в котором два поля будут поменяны местами. Новый код писать не надо. Например, для счетов-фактур у нас порядка 20 разных шаблонов, но все данные заполняются одним и тем же кодом. Аксапта просто заполняет все поля, которые используются во всех возможных шаблонах. Если создается новый шаблон, и в нем появляется новое поле, которого нет в других шаблонах, то в код Аксапты достаточно добавить строку, которая заполняет новое поле. Отсутствие данного поля в других шаблонах не критично. |
|
11.10.2011, 19:40 | #23 |
Участник
|
Еще добавка. У нас когда бухгалтера корректируют накладные, то создается полное сторно старой накладной, и разносится новая накладная в паре со счетом-фактурой. Кнопка "Накладная", расположенная на заказе или в рейсе, всегда печатает последнюю версию накладных. Кнопка "Накладная", которая расположена в журнале накладных, печатает текущую выделенную накладную или несколько выделенных накладных.
То же самое со счетами-фактурами. Когда бухгалтерам надо распечатать промежуточную версию - они ищут ее в журнале накладных. Когда надо напечатать последнюю весрию - то печатают из заказа. |
|
11.10.2011, 19:44 | #24 |
Участник
|
Такой механизм корректировки документов придумал не я. Я приспособил печать первичных документов к нему.
|
|
11.10.2011, 19:50 | #25 |
Участник
|
Если бухгалтерам надо напечатать сразу несколько последних версий накладных или счетов-фактур, то в журналах накладных и счетов фактур можно применить специально разработанный фильтр, который покажет только последние версии документов.
|
|
11.10.2011, 19:53 | #26 |
Участник
|
Но я бы не стал заострять внимание на механизмах корректировки документов.
С помощью моего функционала настройки количества копий можно пользоваться и стандартными аксаптовскими печатными формами. Чуть-чуть их модифицировать, чтобы по коду клиента и типу документа получить нужное количество копий |
|
11.10.2011, 20:04 | #27 |
Участник
|
Этапы разработки дизайна внедрения новой печатной формы, которые я применяю:
1) Определить будет ли использоваться встроенный аксаптовский отчет, Эксель или Fast Report. 2) Определить, будет ли использоваться стандартный функционал Аксапты при наполнении данных печатной формы. 3) Надо ли настраивать количество копий? 4) Надо ли печатать документ в составе комплекта документов? 5) Надо ли сохранять информацию о распечатанном количестве копий, штрих-коде документа, названия шаблона, с которым он был распечатан, в реестре документов? Последний раз редактировалось Ace of Database; 11.10.2011 в 20:08. |
|
11.10.2011, 20:09 | #28 |
Участник
|
Угу. Понятно. Т.е. стандартным функционалом печати вообще не пользуетесь. Выброшен за ненадобностью. О чем я и говорил.
Как мне кажется, не очень удачное решение. Программист превращается в "делателя отчетов", поскольку даже минимальная модификация (поменять поля местами) невозможна без программиста. |
|
11.10.2011, 20:54 | #29 |
Участник
|
А как без программиста вы предлагаете поменять поля местами? В принципе, пользователю можно установить редактор шаблонов отчетов и по кнопочке пусть он открывает отчет в редакторе.
Вы видели картинки редактора отчетов в Fast Report, которые я приводил? Там любой обученный человек сможет поменять поля местами. Если можете предложить механизм, который непрограммисту позволит сформировать дизайн счета-фактуры, то на это интересно будет посмотреть. А поменять поля местами в Fast Report - проще простого. Добавить новый шаблон пользователи у нас могут, задать количество копий могут. Если бы поставили вопрос о том, чтобы самим редактировать шаблоны, я бы им сделал. Там очень легко в Fast Report делается. Последний раз редактировалось Ace of Database; 11.10.2011 в 21:02. |
|
11.10.2011, 21:00 | #30 |
Участник
|
Чтобы поменять поля местами, достаточно поменять их только в шаблоне.
Программист не нужен, т.к. шаблон очень просто редактировать. |
|
12.10.2011, 11:07 | #31 |
Участник
|
В принципе, получился готовый коробочный продукт.
Механизм отчетов я уже не трогал больше года, сбоев в его работе нет. Принтеры круглосуточно печатают тысячи листов, документы автоматически отправляются по почте клиентам при выезде машин. Данный механизм использовали несколько разработчиков для разработки новых отчетов. Проблем в освоении его нет. Бухгалтера сами настраивают количество копий. Вопросы возникают от силы пару раз в месяц, и решаются простыми настройками количества копий либо редактированием шаблонов отчетов, что помимо меня могут сделать в случае надобности еще два аналитика и сисадмин. |
|
12.10.2011, 11:26 | #32 |
Участник
|
Цитата:
"Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс" Т.е. фактически, в отчете, программно формируете содержимое одного поля отчета. Теперь, предположим, клиент хочет оставить тот же самый дизайн, но изменить содержимое одного поля отчета. Т.е. хочет чтобы в том же самом месте текст формировался чуть по другому. Например, так "Организация-грузоотправитель" = "Название" + "Адрес" + "Факс" + "Телефон" Так вот, Ваша реализация предполагает, что это будет либо новый дизайн, либо новый класс. Т.е. предполагает работу программиста. Хотя очевидно, что, если предоставить некую специфическую форму по формированию содержимого полей отчета это вполне мог бы сделать и пользователь. Явно ведь, что это чисто "настроечная" задача. "Поле отчета" - это "Организация-грузоотправитель", а "Название", "Адрес", "Факс", "Телефон" - это некие условные "слагаемые", некие "кубики" из которых пользователь через специальную настроечную форму будет "складывать" содержимое "поля" Подобная схема позволяет именно через настройки легко менять содержимое без изменения дизайна. Например, хочет клиент вместо юридического адреса указывать адрес доставки - пожалуйста. Хочет кроме адреса добавить еще и банковские реквизиты - не проблема! И все это исключительно настройками. Без программирования! Хотя, конечно, изменение дизайна тоже могут потребоваться. Но объем работы программиста существенно снизится. Т.е. эта настроечная форма будет дополнением к Вашей схеме, а не ее заменой. |
|
12.10.2011, 11:55 | #33 |
Участник
|
Нет, вы неправильно поняли
Чтобы сформировать строку вида "Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс" в дизайне отчета создается один (!) элемент, внутри которого можно писать константный текст, а можно чередовать поля с данными. Содержание элемента для вашего примера будет таким: <<<Организация-грузоотправитель: [Клиент."Название"];[Клиент."Адрес"];[Клиент."Телефон"];[Клиент."Факс"]>>> Квадратные скобки открывают и закрывают поля с переменными данными. Вы можете просто поменять внутри элемента текст, переставить местами два поля. Вот как это выглядит в редакторе. На примере в отчет будет выведено слово "Плательщик", за ним последует поле "Название плательщика", затем последует адрес плательщика. Если название и адрес надо поменять местами, то их просто надо в тексте контрола поменять местами Последний раз редактировалось Ace of Database; 12.10.2011 в 11:59. |
|
12.10.2011, 12:01 | #34 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
Я не про изменение дизайна, а про изменение содержимого существующих полей. Если отвлечся от конкретных значений, то бланк, например, товарной накладной ТОРГ-12, имеет следующие "поля"
"Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс" Т.е. фактически, в отчете, программно формируете содержимое одного поля отчета. Теперь, предположим, клиент хочет оставить тот же самый дизайн, но изменить содержимое одного поля отчета. Т.е. хочет чтобы в том же самом месте текст формировался чуть по другому. Например, так "Организация-грузоотправитель" = "Название" + "Адрес" + "Факс" + "Телефон" Так вот, Ваша реализация предполагает, что это будет либо новый дизайн, либо новый класс. Т.е. предполагает работу программиста. Хотя очевидно, что, если предоставить некую специфическую форму по формированию содержимого полей отчета это вполне мог бы сделать и пользователь. Явно ведь, что это чисто "настроечная" задача. "Поле отчета" - это "Организация-грузоотправитель", а "Название", "Адрес", "Факс", "Телефон" - это некие условные "слагаемые", некие "кубики" из которых пользователь через специальную настроечную форму будет "складывать" содержимое "поля" Подобная схема позволяет именно через настройки легко менять содержимое без изменения дизайна. Например, хочет клиент вместо юридического адреса указывать адрес доставки - пожалуйста. Хочет кроме адреса добавить еще и банковские реквизиты - не проблема! И все это исключительно настройками. Без программирования! Хотя, конечно, изменение дизайна тоже могут потребоваться. Но объем работы программиста существенно снизится. Т.е. эта настроечная форма будет дополнением к Вашей схеме, а не ее заменой. Последний раз редактировалось ice; 12.10.2011 в 12:04. |
|
12.10.2011, 12:02 | #35 |
Участник
|
Можно вообще в одном контроле располагать текст и данные произвольно, в том числе в многострочном виде. Вот пример контрола, внутри которого содержится сразу несколько граф, в которых чередуются подписи и данные:
|
|
12.10.2011, 12:04 | #36 |
Участник
|
В приведенном примере вместо текста [CTD_ReportSummary1."ManagerName"] будет вставлена фамилия руководителя.
А вместо [CTD_ReportSummary1."IManName"] будет вставлена фамилия бухгалтера. Последний раз редактировалось Ace of Database; 12.10.2011 в 12:06. |
|
12.10.2011, 12:10 | #37 |
Участник
|
Цитата:
Несколько наводящих вопросов: 1. КТО будет это делать? Программист или пользователь? 2. Результат модификации - это ЧТО? Новый класс, новый отчет? 3. А БЕЗ создания новых объектов (классов, отчетов) для подобной модификации обойтись нельзя? Ну, если не всегда, то хотя бы в "половине" случаев? Судя по Вашему ответу, задача настройки решается программными средствами. Можно, конечно. Только, как я и говорил, программист превращается в "генератор отчетов" |
|
12.10.2011, 12:20 | #38 |
Участник
|
Отвечаю на вопросы (если надо переставить местами два поля)
1. Это будет делать тот, что владеет дизайнером отчетов в Fast Report. Перепрограммировать ничего не надо. 2. Результат модификации - новый шаблон отчета (файл), чтобы система его подцепила, надо указать его в настройках. Можно в том же шаблоне отчета поменять поля местами, тогда настраивать ничего не надо. Вы что, никогда не создавали шаблонов в Эксель? Это то же самое. Если надо ихменить существующий шаблон, то просто сохраняете изменение в файле, если надо поменять поля местами в новом файле, то просто сохраняете измененный файл под новым именем. Только в этом случае файл с новым именем надо указать в настройках клиента. Ничего программировать не надо, если не добавляется новых полей (которых еще нет нигде в этом отчете), и если не изменяется алгоритм заполнения полей. Расположение полей в отчете не имеет никакого значения для программиста. |
|
12.10.2011, 12:24 | #39 |
Участник
|
Пользователю это знать не надо. Пользователь видит некоторые условные "кубики". Например, "Телефон", "Название клиента", "Юридический адрес". И используя эти "кубики" формирует требуемый текст. А уже программный код, по названию "кубика" сам "понимает" откуда надо взять информацию.
|
|
12.10.2011, 12:31 | #40 |
Участник
|
Да, то это альтернатива, согласен
Но у всего есть свои плюсы и минусы. В Fast Report пользователь сразу видит поля на своем месте. Недостаток конечно есть в том, что поля обозначаются латинскими буквами, и если надо добавить новое поле, то пользователь не знает как оно называется. |
|
Теги |
как правильно, накладная, печатная форма, полезное, счет-фактура |
|
|