AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.10.2011, 19:08   #21  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,689 / 1192 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Ace of Database

Парочка вопросов:

1. Я так понимаю, что по кнопке "Обработка" галка "Печать" - не активна и всегда снята? Печать выполняется через отдельную кнопку? Кстати, возможна ли печать проформы или только уже обработанных документов?

2. Как решается задача одинакового дизайна отчета, но разного формирования содержимого?

Ну, например, один клиент хочет, чтобы было напечатано "тел: 999999, факс: 888888", а другой хочет наоброт: "факс: 888888, тел: 999999"

Делаются разные классы?
Старый 11.10.2011, 19:34   #22  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Ответы на вопросы:
1. Кнопку обработки накладной спрятали. На заказе сделали кнгопку "Документы", внутри которой есть пункты "Накладная", "Счет-фактура" и т.д.В момент убытия машины накладная и счет-фактура автоматически печатаются в составе комплекта документов. В дальнейшем их можно напечатать отдельно по кнопке.
Накладная обрабатывается программно при переводе рейса в статус "Убыло". В этот момент обрабатывается только отборочная накладная. Если разнесена отборочная, то печатается по данным отборочной, если финансовая накладная, то по данным финансовой. Через некоторое время бухгалтерия выполняет так называемое "Закрытие накладной", после которого разносится финансовая накладная и счет-фактура. Она может отличаться от отборочной. После этого накладная по той же кнопке печатается на основании нормальной накладной. Накладную можно печатать из нескольких мест: из журнала накладных, из комплекта документов, из заказа. Все стандартные кнопки печати спрятаны, выведены новые кнопки печати. Сами пользователи не знают понятий "Проформа", "Отборочная накладная". Для них существует заказ и рейс. По заказу можно напечатать одну накладную, по рейсу - столько накладных, сколько заказов в рейсе.

2. Для одного типа документа независимо от количества различных шаблонов, всегда один и тот же класс. В случае каких-то отличий делается только новый шаблон. В приведенном Вами примере, будет создано два шаблона, в котором два поля будут поменяны местами. Новый код писать не надо. Например, для счетов-фактур у нас порядка 20 разных шаблонов, но все данные заполняются одним и тем же кодом. Аксапта просто заполняет все поля, которые используются во всех возможных шаблонах. Если создается новый шаблон, и в нем появляется новое поле, которого нет в других шаблонах, то в код Аксапты достаточно добавить строку, которая заполняет новое поле. Отсутствие данного поля в других шаблонах не критично.
Старый 11.10.2011, 19:40   #23  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Еще добавка. У нас когда бухгалтера корректируют накладные, то создается полное сторно старой накладной, и разносится новая накладная в паре со счетом-фактурой. Кнопка "Накладная", расположенная на заказе или в рейсе, всегда печатает последнюю версию накладных. Кнопка "Накладная", которая расположена в журнале накладных, печатает текущую выделенную накладную или несколько выделенных накладных.
То же самое со счетами-фактурами.
Когда бухгалтерам надо распечатать промежуточную версию - они ищут ее в журнале накладных. Когда надо напечатать последнюю весрию - то печатают из заказа.
Старый 11.10.2011, 19:44   #24  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Такой механизм корректировки документов придумал не я. Я приспособил печать первичных документов к нему.
Старый 11.10.2011, 19:50   #25  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Если бухгалтерам надо напечатать сразу несколько последних версий накладных или счетов-фактур, то в журналах накладных и счетов фактур можно применить специально разработанный фильтр, который покажет только последние версии документов.
Старый 11.10.2011, 19:53   #26  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Но я бы не стал заострять внимание на механизмах корректировки документов.
С помощью моего функционала настройки количества копий можно пользоваться и стандартными аксаптовскими печатными формами. Чуть-чуть их модифицировать, чтобы по коду клиента и типу документа получить нужное количество копий
Старый 11.10.2011, 20:04   #27  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Этапы разработки дизайна внедрения новой печатной формы, которые я применяю:
1) Определить будет ли использоваться встроенный аксаптовский отчет, Эксель или Fast Report.
2) Определить, будет ли использоваться стандартный функционал Аксапты при наполнении данных печатной формы.
3) Надо ли настраивать количество копий?
4) Надо ли печатать документ в составе комплекта документов?
5) Надо ли сохранять информацию о распечатанном количестве копий, штрих-коде документа, названия шаблона, с которым он был распечатан, в реестре документов?

Последний раз редактировалось Ace of Database; 11.10.2011 в 20:08.
Старый 11.10.2011, 20:09   #28  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,689 / 1192 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
Ответы на вопросы:
1. Кнопку обработки накладной спрятали.
Угу. Понятно. Т.е. стандартным функционалом печати вообще не пользуетесь. Выброшен за ненадобностью. О чем я и говорил.

Цитата:
Сообщение от Ace of Database Посмотреть сообщение
2. Для одного типа документа независимо от количества различных шаблонов, всегда один и тот же класс. В случае каких-то отличий делается только новый шаблон.
Как мне кажется, не очень удачное решение. Программист превращается в "делателя отчетов", поскольку даже минимальная модификация (поменять поля местами) невозможна без программиста.
Старый 11.10.2011, 20:54   #29  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
А как без программиста вы предлагаете поменять поля местами? В принципе, пользователю можно установить редактор шаблонов отчетов и по кнопочке пусть он открывает отчет в редакторе.
Вы видели картинки редактора отчетов в Fast Report, которые я приводил?
Там любой обученный человек сможет поменять поля местами.

Если можете предложить механизм, который непрограммисту позволит сформировать дизайн счета-фактуры, то на это интересно будет посмотреть. А поменять поля местами в Fast Report - проще простого. Добавить новый шаблон пользователи у нас могут, задать количество копий могут. Если бы поставили вопрос о том, чтобы самим редактировать шаблоны, я бы им сделал. Там очень легко в Fast Report делается.

Последний раз редактировалось Ace of Database; 11.10.2011 в 21:02.
Старый 11.10.2011, 21:00   #30  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Чтобы поменять поля местами, достаточно поменять их только в шаблоне.
Программист не нужен, т.к. шаблон очень просто редактировать.
Старый 12.10.2011, 11:07   #31  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
В принципе, получился готовый коробочный продукт.
Механизм отчетов я уже не трогал больше года, сбоев в его работе нет. Принтеры круглосуточно печатают тысячи листов, документы автоматически отправляются по почте клиентам при выезде машин.
Данный механизм использовали несколько разработчиков для разработки новых отчетов. Проблем в освоении его нет.
Бухгалтера сами настраивают количество копий. Вопросы возникают от силы пару раз в месяц, и решаются простыми настройками количества копий либо редактированием шаблонов отчетов, что помимо меня могут сделать в случае надобности еще два аналитика и сисадмин.
Старый 12.10.2011, 11:26   #32  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,689 / 1192 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
А как без программиста вы предлагаете поменять поля местами?
(...)
Если можете предложить механизм, который непрограммисту позволит сформировать дизайн счета-фактуры, то на это интересно будет посмотреть.
Я не про изменение дизайна, а про изменение содержимого существующих полей. Если отвлечся от конкретных значений, то бланк, например, товарной накладной ТОРГ-12, имеет следующие "поля"
  • Организация-грузоотправитель
  • Структурное подразделение
  • Грузополучатель
  • Поставщик
  • Плательщик
  • Основание
Судя по Вашему описанию, Вы формируете, например, значение поля "Организация-грузоотправитель" примерно так

"Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс"

Т.е. фактически, в отчете, программно формируете содержимое одного поля отчета.

Теперь, предположим, клиент хочет оставить тот же самый дизайн, но изменить содержимое одного поля отчета. Т.е. хочет чтобы в том же самом месте текст формировался чуть по другому. Например, так

"Организация-грузоотправитель" = "Название" + "Адрес" + "Факс" + "Телефон"

Так вот, Ваша реализация предполагает, что это будет либо новый дизайн, либо новый класс. Т.е. предполагает работу программиста. Хотя очевидно, что, если предоставить некую специфическую форму по формированию содержимого полей отчета это вполне мог бы сделать и пользователь. Явно ведь, что это чисто "настроечная" задача.

"Поле отчета" - это "Организация-грузоотправитель", а "Название", "Адрес", "Факс", "Телефон" - это некие условные "слагаемые", некие "кубики" из которых пользователь через специальную настроечную форму будет "складывать" содержимое "поля"

Подобная схема позволяет именно через настройки легко менять содержимое без изменения дизайна. Например, хочет клиент вместо юридического адреса указывать адрес доставки - пожалуйста. Хочет кроме адреса добавить еще и банковские реквизиты - не проблема! И все это исключительно настройками. Без программирования!

Хотя, конечно, изменение дизайна тоже могут потребоваться. Но объем работы программиста существенно снизится. Т.е. эта настроечная форма будет дополнением к Вашей схеме, а не ее заменой.
Старый 12.10.2011, 11:55   #33  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Нет, вы неправильно поняли

Чтобы сформировать строку вида "Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс"

в дизайне отчета создается один (!) элемент, внутри которого можно писать константный текст, а можно чередовать поля с данными. Содержание элемента для вашего примера будет таким:
<<<Организация-грузоотправитель: [Клиент."Название"];[Клиент."Адрес"];[Клиент."Телефон"];[Клиент."Факс"]>>>

Квадратные скобки открывают и закрывают поля с переменными данными. Вы можете просто поменять внутри элемента текст, переставить местами два поля.

Вот как это выглядит в редакторе. На примере в отчет будет выведено слово "Плательщик", за ним последует поле "Название плательщика", затем последует адрес плательщика. Если название и адрес надо поменять местами, то их просто надо в тексте контрола поменять местами
Миниатюры
Нажмите на изображение для увеличения
Название: Плательщик.JPG
Просмотров: 344
Размер:	109.4 Кб
ID:	7215  

Последний раз редактировалось Ace of Database; 12.10.2011 в 11:59.
Старый 12.10.2011, 12:01   #34  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,731 / 406 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Я не про изменение дизайна, а про изменение содержимого существующих полей. Если отвлечся от конкретных значений, то бланк, например, товарной накладной ТОРГ-12, имеет следующие "поля"
  • Организация-грузоотправитель
  • Структурное подразделение
  • Грузополучатель
  • Поставщик
  • Плательщик
  • Основание
Судя по Вашему описанию, Вы формируете, например, значение поля "Организация-грузоотправитель" примерно так

"Организация-грузоотправитель" = "Название" + "Адрес" + "Телефон" + "Факс"

Т.е. фактически, в отчете, программно формируете содержимое одного поля отчета.

Теперь, предположим, клиент хочет оставить тот же самый дизайн, но изменить содержимое одного поля отчета. Т.е. хочет чтобы в том же самом месте текст формировался чуть по другому. Например, так

"Организация-грузоотправитель" = "Название" + "Адрес" + "Факс" + "Телефон"

Так вот, Ваша реализация предполагает, что это будет либо новый дизайн, либо новый класс. Т.е. предполагает работу программиста. Хотя очевидно, что, если предоставить некую специфическую форму по формированию содержимого полей отчета это вполне мог бы сделать и пользователь. Явно ведь, что это чисто "настроечная" задача.

"Поле отчета" - это "Организация-грузоотправитель", а "Название", "Адрес", "Факс", "Телефон" - это некие условные "слагаемые", некие "кубики" из которых пользователь через специальную настроечную форму будет "складывать" содержимое "поля"

Подобная схема позволяет именно через настройки легко менять содержимое без изменения дизайна. Например, хочет клиент вместо юридического адреса указывать адрес доставки - пожалуйста. Хочет кроме адреса добавить еще и банковские реквизиты - не проблема! И все это исключительно настройками. Без программирования!

Хотя, конечно, изменение дизайна тоже могут потребоваться. Но объем работы программиста существенно снизится. Т.е. эта настроечная форма будет дополнением к Вашей схеме, а не ее заменой.
вы предпологаете что пользователь знает структуру данных, что может так запросто менять выводимую информацию? простое, на первый взгляд, поле в печатной форме может содержать информацию из целой кучи несвязанных таблиц

Последний раз редактировалось ice; 12.10.2011 в 12:04.
Старый 12.10.2011, 12:02   #35  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Можно вообще в одном контроле располагать текст и данные произвольно, в том числе в многострочном виде. Вот пример контрола, внутри которого содержится сразу несколько граф, в которых чередуются подписи и данные:
Миниатюры
Нажмите на изображение для увеличения
Название: Сложные поля.JPG
Просмотров: 340
Размер:	119.0 Кб
ID:	7216  
Старый 12.10.2011, 12:04   #36  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
В приведенном примере вместо текста [CTD_ReportSummary1."ManagerName"] будет вставлена фамилия руководителя.
А вместо [CTD_ReportSummary1."IManName"] будет вставлена фамилия бухгалтера.

Последний раз редактировалось Ace of Database; 12.10.2011 в 12:06.
Старый 12.10.2011, 12:10   #37  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,689 / 1192 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
Нет, вы неправильно поняли
(...)
Квадратные скобки открывают и закрывают поля с переменными данными. Вы можете просто поменять внутри элемента текст, переставить местами два поля.

Вот как это выглядит в редакторе:
Вы по прежнему думаете как программист Я не сомневаюсь, что изменить код или дизайн для программиста - не проблема.

Несколько наводящих вопросов:

1. КТО будет это делать? Программист или пользователь?
2. Результат модификации - это ЧТО? Новый класс, новый отчет?
3. А БЕЗ создания новых объектов (классов, отчетов) для подобной модификации обойтись нельзя? Ну, если не всегда, то хотя бы в "половине" случаев?

Судя по Вашему ответу, задача настройки решается программными средствами. Можно, конечно. Только, как я и говорил, программист превращается в "генератор отчетов"
Старый 12.10.2011, 12:20   #38  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Отвечаю на вопросы (если надо переставить местами два поля)
1. Это будет делать тот, что владеет дизайнером отчетов в Fast Report. Перепрограммировать ничего не надо.

2. Результат модификации - новый шаблон отчета (файл), чтобы система его подцепила, надо указать его в настройках. Можно в том же шаблоне отчета поменять поля местами, тогда настраивать ничего не надо.

Вы что, никогда не создавали шаблонов в Эксель? Это то же самое.
Если надо ихменить существующий шаблон, то просто сохраняете изменение в файле, если надо поменять поля местами в новом файле, то просто сохраняете измененный файл под новым именем. Только в этом случае файл с новым именем надо указать в настройках клиента.

Ничего программировать не надо, если не добавляется новых полей (которых еще нет нигде в этом отчете), и если не изменяется алгоритм заполнения полей.

Расположение полей в отчете не имеет никакого значения для программиста.
Старый 12.10.2011, 12:24   #39  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,689 / 1192 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от ice Посмотреть сообщение
вы предпологаете что пользователь знает структуру данных, что может так запросто менять выводимую информацию? простое, на первый взгляд, поле в печатной форме может содержать информацию из целой кучи несвязанных таблиц
Пользователю это знать не надо. Пользователь видит некоторые условные "кубики". Например, "Телефон", "Название клиента", "Юридический адрес". И используя эти "кубики" формирует требуемый текст. А уже программный код, по названию "кубика" сам "понимает" откуда надо взять информацию.
Миниатюры
Нажмите на изображение для увеличения
Название: screen1.jpg
Просмотров: 349
Размер:	115.9 Кб
ID:	7217  
Старый 12.10.2011, 12:31   #40  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Да, то это альтернатива, согласен
Но у всего есть свои плюсы и минусы. В Fast Report пользователь сразу видит поля на своем месте. Недостаток конечно есть в том, что поля обозначаются латинскими буквами, и если надо добавить новое поле, то пользователь не знает как оно называется.
Теги
как правильно, накладная, печатная форма, полезное, счет-фактура

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Что делает кнопка "Упорядочить" в форме разноски накладной? Bega DAX: Функционал 1 10.01.2006 12:25
"Сливание" строк с одинаковой номенклатурой в печатных формах. NJD DAX: Функционал 9 24.06.2004 19:41
Что такое "накладные расходы" в отчете по распределению расходов Tony Green DAX: Функционал 0 01.03.2004 12:25
Axapta 2.5 - Система не поддерживает настройку "непрерывности" номерной серии Базо_1 SDA DAX: Администрирование 8 02.10.2003 21:05
Установка "тонкого" клиента MIkeFW DAX: Администрирование 9 04.06.2002 09:31

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:22.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.