Меню

Сортировать:

Новое Популярное
Создание собственного шага для записи условия в схеме калькуляции заказа на закупку (5)

Комментарий от  

Дмитрий Порушкин

  |  04 мая 2017, 15:19

Интересный вариант решения. Возьму в инструментарий.
Хотя конкретно данную задачу я решал бы добавлением в схему калькуляции своего вида условия (без последовательности) и написанием формулы для него. Новый вид условия имел бы приоритет над PB00. Такое решение более привычно (ожидаемо) для консультантов, особенно для сторонних, которым нужно разобраться с тем, что уже сделано. Видишь "левый" вид условия, смотришь формулу (или просишь абапера, если сам не разбираешься). В одном месте вся логика.
Впрочем, это мое мнение, за всех консультатов не отвечу.
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Олег Башкатов

  |  29 апреля 2017, 14:59

Олег Точенюк 28 апреля 2017, 23:38

>>"Самое главное - это расположить инклуды с моделью и представлением до инклуда с контроллером"
 
А может проще написать в начале что-то типа:
CLASS: <имя> DEFINITION DEFERRED,
       <имя> DEFINITION DEFERRED,
       <имя> DEFINITION DEFERRED.
 
И тогда будет все равно как оно там дальше в инклудах находится.

если на то пошло, то можно использовать OOP подход при создании транзакции, и забыть про include как таковой и про их расположение в том числе :-)
 
пример описан здесь:
sapland.ru/blogs/phaizullin
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Олег Точенюк

  |  28 апреля 2017, 23:38

>>"Самое главное - это расположить инклуды с моделью и представлением до инклуда с контроллером"
 
А может проще написать в начале что-то типа:
CLASS: <имя> DEFINITION DEFERRED,
       <имя> DEFINITION DEFERRED,
       <имя> DEFINITION DEFERRED.
 
И тогда будет все равно как оно там дальше в инклудах находится.
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Иван Тюменьев

  |  28 апреля 2017, 14:48

Юрий Жуков 25 апреля 2017, 16:47

Необходимости нет. По-хорошему во view должна быть ссылка на модель и view должна сама брать данные из модели. А из модели уж как угодно можно данные выдавать или как атрибут или через метод (зависит от того насколько надо абстрагироваться). Тогда и контроллер не будет зависеть от структуры модели. В контроллере должна быть только настройка связи между view и model.
 
Не совсем правильно, потому что такая передача нарушает инкапсуляцию внутренностей объекта модель, контроллер "знает" как устроена модель, хотя, по идее, ему должно быть всё равно, что внутри модели. Если конечно придерживаться концепции пассивной модели, то и передача через контроллер выглядит нормальной, так как вся бизнес логика всё равно будет сосредоточена в контроллере. А если делать контроллер по всем правилам, то в нём должна быть только логика управления связями между остальными объектами и маршрутизация сообщений в их обработчики. Для простого ALV отчета, это правда уже перебор.

Если идти по первому пути, то мы получим высокую связность между объектами: вью будет знать с какой он работает моделью. Передавая данные модели через контроллер, мы убираем эту связь. Только контроллер продолжает знать, с какой моделью он работает. По хорошему, конечно, я должен был получить ссылку на таблицу модели в контроллере и передать ее уже вью. Но я не вижу смысла в таком финте: создавать get метод в модели, запомнить ссылку на таблицу в контроллере, потом ее передать дальше. В случае нескольких моделей это имеет смысл...
На счет нарушения инкапсуляции, согласен. К сожалению, до версии 7.40 очень громосткий код получается, если писать все по канонам. Но опять же, это один из примеров реализации, который каждый может доработать под себя.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Дмитрий Русов

  |  26 апреля 2017, 14:53

Кирилл Малыгин 26 апреля 2017, 13:08

Цифры получаются не после внедрения системы, а по итогам всего проекта (система, методология, служба, нормализация объектов НСИ).
Поделитесь опытом, какой профит по-вашему мнению от проекта НСИ, какими показателями его можно оценить?

Оценить можно только для проекта в целом. И то лишь тогда, когда есть с чем сравнивать. Особенно если при внедрении меняется оргструктура, процессы, KPI, и т.п.
Поэтому я никогда не говорю клиенту про какие-либо экономические эффекты количественно. Только качественные показатели, типа "улучшится достоверность отчетов", "за счет дедупликации компания может получить дополнительные скидки при закупке" и т.д.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Дмитрий Русов

  |  26 апреля 2017, 14:46

Кирилл Малыгин 26 апреля 2017, 13:11

Who "simply the best"?

Каждому решению - свою область применения. Где-то идеально встает SAP MDG, где-то достаточно MS MDS, Единственное, ни разу еще не видел законченное внедрение продукта компании T* :)
Лично мое предпочтение - SAP MDM либо Informatica MDM. Там подобные вещи, на мой взгляд, проще всего сделать.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Кирилл Малыгин

  |  26 апреля 2017, 13:11

Дмитрий Русов 26 апреля 2017, 11:14

Знаю, практически со всеми основными продуктами, представленными на рынке, работал.

Who "simply the best"?
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Кирилл Малыгин

  |  26 апреля 2017, 13:08

Дмитрий Русов 26 апреля 2017, 11:13

По моему опыту, все эти цифры - высосаны из пальца. Нормальный бизнес сразу спросит - а как эти цифры получены? А где тут влияние данных? А может проще вычистить данные в текущей системе?

Цифры получаются не после внедрения системы, а по итогам всего проекта (система, методология, служба, нормализация объектов НСИ).
Поделитесь опытом, какой профит по-вашему мнению от проекта НСИ, какими показателями его можно оценить?
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Кирилл Малыгин

  |  26 апреля 2017, 13:04

Дмитрий Русов 26 апреля 2017, 11:10

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

Ограничивать глубину описания - это и есть камень преткновения с Бизнесом, ведь его  аппетиты постоянно растут.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Дмитрий Русов

  |  26 апреля 2017, 11:14

Кирилл Малыгин 25 апреля 2017, 16:50

Есть еще решения и других вендоров...

Знаю, практически со всеми основными продуктами, представленными на рынке, работал.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Дмитрий Русов

  |  26 апреля 2017, 11:13

Кирилл Малыгин 25 апреля 2017, 16:49

Опыт проектов + некоторые открытые данные.

По моему опыту, все эти цифры - высосаны из пальца. Нормальный бизнес сразу спросит - а как эти цифры получены? А где тут влияние данных? А может проще вычистить данные в текущей системе?
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Дмитрий Русов

  |  26 апреля 2017, 11:10

Кирилл Малыгин 25 апреля 2017, 16:48

Согласен, что нормализация начинается с методологии,но также необходимо понимание Бизнеса, что он хочет и для чего.
Параметрическая классификация - это Вы имеете ввиду свойства и значения ТМЦ? Тогда здесь хочу уточнить фразой из статьи:
"Невозможно поддерживать и развивать фасетную классификацию всего справочника ТМЦ, т.к. потребности бизнеса всегда будут расти и изменяться, следовательно, должен будет меняться и классификатор, и все позиции в нем."

Ну тут бизнесу придется выбирать, либо мы имеем более-менее качественные данные, либо не заморачиваемся над фасетами вообще.
По факту, классификацию на таком уровне поддерживать несложно, ограничивая глубину описания на второстепенных классах.
Ну а то, что классификатор будет развиваться, мне кажется, это самоочевидная вещь.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Кирилл Малыгин

  |  25 апреля 2017, 16:50

Дмитрий Русов 25 апреля 2017, 11:15

Поиск аналогов как раз в MDM проще реализовать, чем в MDG.

Есть еще решения и других вендоров...
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Кирилл Малыгин

  |  25 апреля 2017, 16:49

Дмитрий Русов 25 апреля 2017, 11:12

На основе чего получены данные цифры?

Опыт проектов + некоторые открытые данные.
Системы НСИ: Новый подход vs Классического подхода (33)

Комментарий от  

Кирилл Малыгин

  |  25 апреля 2017, 16:48

Дмитрий Русов 25 апреля 2017, 11:24

НОрмализация ОЗМ начинается с грамотного методолога и выявления типовых проблем. Почему 2 года справочник чистили - вообще не понятно, работы для "маленького заводика" - максимум на полгода, за год весь Газпром можно вычистить, или корпорацию сопоставимого масштаба (был такой опыт).
А проблемы основные -
1. Дублирующиеся записи
2. Неполные записи
3. Некорректные записи
4. Противоречивые записи
5. "Абсурдные" записи
Хорошо помогает параметрическая классификация с прошитой в интерфейсе  обязательностью, а также хорошая трудовая дисциплина.

Согласен, что нормализация начинается с методологии,но также необходимо понимание Бизнеса, что он хочет и для чего.
Параметрическая классификация - это Вы имеете ввиду свойства и значения ТМЦ? Тогда здесь хочу уточнить фразой из статьи:
"Невозможно поддерживать и развивать фасетную классификацию всего справочника ТМЦ, т.к. потребности бизнеса всегда будут расти и изменяться, следовательно, должен будет меняться и классификатор, и все позиции в нем."
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Юрий Жуков

  |  25 апреля 2017, 16:47

Иван Тюменьев 25 апреля 2017, 15:39

В данном случае передача таблицы в display скорее необходимость. Т.к. в конструктор передать changing параметр невозможно.
 
Вывод не только таблицы будет показан в дальнейшем.
 
"Не совсем правильно с точки зрения ООП" - хотелось бы немного аргументации...

Необходимости нет. По-хорошему во view должна быть ссылка на модель и view должна сама брать данные из модели. А из модели уж как угодно можно данные выдавать или как атрибут или через метод (зависит от того насколько надо абстрагироваться). Тогда и контроллер не будет зависеть от структуры модели. В контроллере должна быть только настройка связи между view и model.
 
Не совсем правильно, потому что такая передача нарушает инкапсуляцию внутренностей объекта модель, контроллер "знает" как устроена модель, хотя, по идее, ему должно быть всё равно, что внутри модели. Если конечно придерживаться концепции пассивной модели, то и передача через контроллер выглядит нормальной, так как вся бизнес логика всё равно будет сосредоточена в контроллере. А если делать контроллер по всем правилам, то в нём должна быть только логика управления связями между остальными объектами и маршрутизация сообщений в их обработчики. Для простого ALV отчета, это правда уже перебор.
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Иван Тюменьев

  |  25 апреля 2017, 15:51

Евгений Лапшин 25 апреля 2017, 13:07

1. Иван, разве обновление данных не должно происходить через контроллер (рис.1)?
2. Не описана обработка действий пользователя VIEW. Хочется видеть хотя бы самый простой пример.

1) Существуют различные реализации паттерна MVC. В данном случае смысла в ручном обновлении нет, т.к. связь View с таблицей модели по ссылке. Обновятся данные в таблице - передавать их заново не придется.
2) Все будет, следите за новыми статьями! (;
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Иван Тюменьев

  |  25 апреля 2017, 15:39

Юрий Жуков 25 апреля 2017, 09:11

Передавать таблицу в display не совсем правильно с точки зрения ООП, вроде. Например, появиться требование вывести кроме таблицы, ещё какую-нибудь заголовочную часть. Потребуется вносить изменения в контроллер, хотя изменилась только структура данных и её отображение, а управление осталось прежним.

В данном случае передача таблицы в display скорее необходимость. Т.к. в конструктор передать changing параметр невозможно.
 
Вывод не только таблицы будет показан в дальнейшем.
 
"Не совсем правильно с точки зрения ООП" - хотелось бы немного аргументации...
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Иван Тюменьев

  |  25 апреля 2017, 15:35

Олег Башкатов 24 апреля 2017, 01:05

у Вас в разработке по сути 2 view, независимых друг от друга:
1) это селекционный экран отчета
2) и экран ALV на базе класса cl_salv_table
и эти два view контролируются разными controller (1 - создается стандартно за кадром; 2 - создался Вами).
 
кроме того, Вы говорите
"данный шаблон отлично подходит (масштабируется) для отчетов с большим количеством всевозможных enjoysap control'ами с реализацией их взаимодействия.", а при этом используете упрощенный класс cl_salv_table.
почему?

Это первая статья и она вводная. Не хотелось запихивать все и сразу. Пример использования нескольких контролов обязательно будет в дальнейшем.
MVC или как писать отчеты быстро и просто (15)

Комментарий от  

Евгений Лапшин

  |  25 апреля 2017, 13:07

1. Иван, разве обновление данных не должно происходить через контроллер (рис.1)?
2. Не описана обработка действий пользователя VIEW. Хочется видеть хотя бы самый простой пример.