gifts2017

Начало автоматизации (Часть 2).

Опубликовал Олег Молочников (milkers) в раздел Программирование - Теория программирования

Начало статьи смотрите здесь:  http://infostart.ru/public/84784/
Несмотря на одиозное название (лучшего пока не придумал),  это всего лишь приглашение обменяться опытом. У каждого из нас накопился некоторый набор приемов, которые позволяют нам браться за крупные проекты и легкими штрихами наращивать значительный для клиентов функционал, получая на выходе систему, в которой удобно работать и которую легко обновлять.

Молочников Олег Spb. 2011.

Начало автоматизации (Часть 2).

Начало статьи смотрите здесь:  http://infostart.ru/public/84784/

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

Но вот конфигурация выбрана, в ней созданы дополнительные реквизиты данных и перенесена информация из той среды, где ее заказчик хранил ранее. Многие на этом этапе начинают писать специализированные рабочие места (РМ) для основных видов деятельности заказчика (рабочее место логиста, рабочее место кладовщика, менеджера и т.д.)  потому что стандартная конфигурация не отображает новых реквизитов, не умеет делать по ним отборы, не выводит необходимую для принятия решения информацию. Такой подход имеет право на жизнь,  но количество таких РМ можно сильно ограничить до действительно неизбежных случаев, если использовать функционал стандартной конфигурации и … специализированный подбор. Изготовлению таких подборов, которые позволят легкими усилиями расширить функционал сразу всей конфигурации и во всех документах, я и хотел бы посвятить эту статью.

Для изготовления подборов я рекомендую использовать управляемые отборы, которые работают как в толстом, так и в тонком клиенте, и при дальнейшем написании Web-интерфейса не придется ни чего переделывать.

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

Подбор номенклатуры из имеющейся на складе или из переданной контрагенту в давальческую переработку.

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

Далее рекомендую предусмотреть в подобном отборе несколько хитростей, которые могут оказаться полезными при работе с большим количеством данных:

1.      - В отборе не показываются позиции, имеющиеся в документе вызывающем подбор.

2.      - Выбранные в документ позиции моментально исчезают из подбора.

3.      - Цветовое выделение позиций по важным для сотрудника признакам.

Пример отбора cиспользованием динамического списка:

Преимущество такого отбора, что сотрудник сам может настраивать состав и положение колонок и условия отбора.


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

Пример формы отбора  для работы с автозапчастями:


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

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

После чего менеджер должен предложить  товары, которые могут входить в комплект покупки, проанализировав по ним тот же набор информации:

Если обновление одной таблицы подбора происходит после активации строки из другой таблицы  как в этом подборе, рекомендую обновлять таблицу не через обработку активации строки, а генерировать событие и обновлять таблицу в обработке этого события. Это позволит избежать торможения отображения при пролистывании пользователем исходной таблицы. (Обрабатываться  будет только последняя активная строка).

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


 И не большие итоги в конце статьи. Написание специализированного подбора позволит с небольшими усилиями расширить функционал сразу всей конфигурации. Использование управляемых форм для этой цели несет много преимуществ:

1.      -Легкая настройка доступности, видимости отдельных элементов формы, столбцов для различных ролей пользователя.

2.      -Возможность использования подборов во всех видах клиентов.

3.      -Возможность использования динамических списков и других элементов управляемых форм.

 

(Продолжение следует)

 PS: Надеюсь вам понравится эта и другие мои статьи и разработки на http://infostart.ru/profile/48714/.

Очень жду ваших комментариев  и пожеланий.

Молочников Олег Spb. 2011.

 

 

 

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Вася Иванов (RTA) (0.91 $m)
Подписаться Добавить вознаграждение

Комментарии

0. Олег Молочников (milkers) 17.09.11 18:58
Начало статьи смотрите здесь: http://infostart.ru/public/84784/
Несмотря на одиозное название (лучшего пока не придумал), это всего лишь приглашение обменяться опытом. У каждого из нас накопился некоторый набор приемов, которые позволяют нам браться за крупные проекты и легкими штрихами наращивать значительный для клиентов функционал, получая на выходе систему, в которой удобно работать и которую легко обновлять.


Перейти к публикации

1. Ю М (mtv:)) 17.09.11 18:58
Хорошие идеи высказаны. Надо взять на вооружение.
Только картинки в статье пустые. Ссылки на них имеют вид: "file:///C:/Users/MOLOCH~1/AppData/Local/Temp/msohtmlclip1/01/clip_imag­e002.jpg". Надо бы поправить.
2. Ю М (mtv:)) 17.09.11 19:00
Во, картинки уже поправил. Оперативно....
3. Александр Рытов (Арчибальд) 19.09.11 07:39
Текст хороший. Но очень уж велик диссонанс названия статьи и ее квинтэссенции (управляемые формы хороши тем, что они управляемые).
4. Олег Молочников (milkers) 19.09.11 10:44
(3) Арчибальд, квинтэссенция статьи по по плану и близко не лежала там где ты ее нашел.
Предполагалась обыграть идею выделения значительной части функционала заказчика в специализированный отбор.
То, что даже ты не понял сути, говорит о том, что статья не удалась.
Арчибальд; +1 Ответить 1
5. Александр Рытов (Арчибальд) 19.09.11 11:20
(4) Нет, думается, я все правильно понял. Просто я очень сократил "квинтэссенцию". В развернутом виде она бы звучала так: механизм управляемых форм настолько универсален, что зачастую удается почти все хотелки заказчика удовлетворить реализацией на УФ некого суперотбора.
6. Олег Молочников (milkers) 19.09.11 11:28
(5) Опять же не совсем то, что я имел в ввиду. Ничто не мешает сделать все то же самое на неуправляемых формах, в некоторых случаях это будет сложнее, в некоторых легче. Я лишь рекомендую использовать управляемые формы для этих целей. А вот "зачастую удается почти все хотелки заказчика удовлетворить реализацией ... некого суперотбора" уже намного ближе.
7. Александр Рытов (Арчибальд) 19.09.11 11:32
(6) Вот если в статье сделать акцент именно на этом, концентрации хотелок как методологическом принципе автоматизации, было бы нормально. А так идея размазывется в описании ее реализации.
cool.vlad4; +1 Ответить 4
8. Олег Молочников (milkers) 19.09.11 11:34
(7) Согласен, вечерком подумаю, как переработать текст.
10. Александр Рытов (Арчибальд) 19.09.11 11:39
(8) Успеха. Будем подождать.
11. Игорь Исхаков (Ish_2) 19.09.11 16:17
(7) А ведь это правильная постановка вопроса !
"концентрация хотелок как методологическом принципе автоматизации" - другими словами, не размазывание хотелок заказчика по типовой конфигурации , а разбиение хотелок на группы и реализация их в отдельных обработках(или отчетах). Правда , тогда рассматриваемая статья всего лишь частный пример и не тянет на раскрытие методологического принципа. Нужно обозначить критерии разбиения хотелок, показать их условность и вариативность. Мммм... объективно трудноватую задачку ты поставил автору. Здесь требуется некоторое абстрагирование и обобщения. Потянет ли ?
12. Олег Молочников (milkers) 23.09.11 13:05
(11) У меня нет рецепта философского камня и я не знаю способа реализовать все пожелания заказчика в одной обработке и одном отчете. Я ставил перед собой задачу поделиться красивым приемом, который может позволить уменьшить объем работ на большом внедрении. Справился ли я с этой задачей? Это вопрос к читателям.
13. Константин Яремчук (nucha) 23.09.11 13:55
В рамках отбора номенклатуры справился. Пиши ещё.
14. Игорь Исхаков (Ish_2) 26.09.11 09:58
(12) Согласен. Арчибальд только сбил с толку своей постановкой вопроса в (7).
Текущая статья рассматривает конкретный частный случай. И не более того.
15. Anatolii Karasev (KapasMordorov) 26.09.11 10:13
(14)
Заголовок статьи пиарный. На все случаи жизни.
Скромнее нужно и точнее.
16. Олег Молочников (milkers) 26.09.11 10:17
(15) Не все так просто. Предполагается цикл статей посвященых данной тематике. Отсюда и универсальный заголовок.
17. Александр Рытов (Арчибальд) 26.09.11 10:29
(16) В первой статье - два краеугольных камня. Думается, в последующих тоже хотя бы по одному должны присутствовать.
18. Автоматизация Производства (dimanich70) 27.09.11 20:05
С удовольствием читаю твои статьи. Жаль маловато. Жду часть 3. Спасибо.
19. Вячеслав (Medvedik) 17.10.11 11:19
Предложу автору вариант точки зрения на "цикл статей" со стороны...
1) Дисонанс от названия и содержания, уже отмечали, а вот что цикл маленьких статей с одинаковыми названиями (ч. 1,2,3,4...) воспринимается как желание набрать побольше плюсов и вызывает негатив (да, я знаю, что публикация без файлов и плюсы "иные") - еще не писали.

2) Недавно была статья про НДС в БП, представьте, если бы ее на n частей разбить - какова ее воспринимаемость была бы? Вы, автор, как в твиттер, по мыслишке кидаете, вместо того, чтобы разродиться одной весомой статьей, которая воспринималась бы и вызывала уважение.

З.ы. Ничего лично против Вас не имею, критика и дискуссия часто идут рядом.
20. Андрей М. (StepByStep) 17.12.12 19:45
С точки зрения конечного результата и внутренних механизмов - подход - правильный.
Вопрос №1: Как часто встречаются комплексные покупки, причем необязательно применительно к автомобилям ?
Вопрос №2: Пользователь, как правило, желает нажать одну кнопку, чтобы получить конечный результат. В связи с этим вопрос - какие варианты оптимизации рассматривались(типа "предопределенных" отборов) или "зафиксировать спрос" - это и есть?
21. Олег Молочников (milkers) 18.12.12 14:24
(20) На первый вопрос за прошествием времени сложно ответить, это может вылиться в целое исследование. Предопределенных кнопок с фиксированным набором отборов не требовалось, так в данном случае все варианты отборов были примерно равно вероятны. Был механизм фиксации частоты запросов конкретных позиций для анализа отделом закупок.
22. Вася Иванов (RTA) 28.08.14 10:38
интересно на ком применялась данная методика? какие отзывы и результаты?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа