Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 14
Гостей: 14
Пользователей: 0
Главная » 2016 » Октябрь » 15 » Языки программирования – 15
21:34
Языки программирования – 15

Языки программирования – 15

Вначале было только два вида людей, которые использовали компьютеры. Это программисты, пишущие программы, которыми могут пользоваться пользователи и пользователи которые, например вводят информацию в базы данных и печатают отчёты. У программ естественно, были свои настройки, т.е список накладных можно было печатать по одному поставщику или за какой-то период, но это всё настраивалось программистом и требовало исключительно его действий при необходимости малейших изменений. Написать программу целиком тоже мог только программист.
В конце 90-х появилось то, что если не ошибаюсь называлась СРЕДА РАЗРАБОТЧИКА. А одновременно появился третий вид – опытный пользователь. Опытный пользователь используя разнообразные среды разработки мог написать себе программу с вводом информации и отчётами не написав при этом ни одной строчки программного текста. Это могло быть не очень автоматизировано, но это работало и этим можно было пользоваться для создания своих баз данных и программ. От пользователя требовалось знание того что такое база данных, т.е того что это таблицы, в которых располагается информация и того, что таблицы связаны друг с другом по кодам или идентификаторам. Т.е есть таблица поставщиков с ID (или кодом), названием и реквизитами, а есть список накладных, в котором в соответствующем поле хранится ID поставщика, а в других полях что-то другое. Но освоение этих нехитрых правил усилий не требует.
Так выглядит окно MS Access (первого, что было пригодно именно как среда разработчика):

Тут можно было создать
1] таблицы для хранения информации
2] запросы на языке SQL для выборки информации
http://akostina76.ucoz.ru/blog/2016-10-04-3489

3] Формы для ввода информации
http://akostina76.ucoz.ru/blog/2016-09-30-3477
4] Отчёты, конструктор которых, как и для форм ввода позволяет расставлять элементы, перетаскивая их мышью:

5] Общие модули, с текстами программ (процедур и функций на VB). Тут небольшая лингвистическая накладка. В Access то, что во всёх остальных программах с поддержкой VB называется макросами называется модулями. Макросы MS Access это попытка упростить жизнь опытному пользователю избавив его от необходимости писать буквы. Про них можно забыть, просто отметив что в Access есть возможность писать полноценные программы. Например, в отчете выше вызывается функция СуммаПрописью(), переводящая суммы по накладной 100 руб в слова «сто рублей, 00 коп».

Четвёртый вид человека, использующего компьютер начал появляться примерно тогда же. Он между пользователем и опытным пользователей. Хорошо, что у человека есть возможность сделать достаточно малыми усилиями себе какую-то личную базу данных и что-то в ней выбирать с помощью конструктора SQL запросов. Но намного больше тех, кто пользуются всё-таки базами и программами, написанными программистами. И используют они, например, отчёты, которые можно смотреть и печатать. Всевозможных выборок и группировок информации по любой базе очень много. А основных отчётов несколько штук. Конструкторы позволяют писать отчёты очень быстро, кто приводит к тому, что их создаётся дикое количество и очень быстро никто уже не  может вспомнить, было это или не было и откуда это можно вызвать.
Другой вариант – не делать отчёт с выборкой, а печатать какую-то длинную простыню с всей информацией. В своё время на заводе одному типу постоянно требовался очень длинный список по всем типам брака, например, за месяц. Мой вопрос, зачем ему это надо его повеселил. Он объяснил, что он это подряд не читает, а просто смотрит из всех этих страниц то, что его интересует. Т.е человек оставлен наедине с длинным документом, из которого может уже что-то выбирать.
По умному это называется OLAP-кубы. Из понятного это больше всего похоже на автофильтр в Excel. Короче начали появляться механизмы, получающие простыню данных в виде таблицы и дающие пользователю возможность выбирать из этой информации фильтрами что угодно, скрывать колонки с не нужной ему информации и как-то ещё настраивать внешний вид отчёта без участия программиста. Выборка, т.е исходная «простыня» могла получаться сложной выборкой на SQL где перевязано большое количество таблиц.
Нечто подобное:

… скорее норма чем экзотика. Во всех этих таблицах есть что-то что надо вытащить в итоговую выборку (где-то название счёта, субсчета, где-то название валюты), потому всех их надо вытащить и перевязать SQL запросом, что и делается.
А пользователю, который ни структуры базы ни названий таблиц и языка SQL не знает можно всё это единым списком дать и предоставить возможность выбрать только то, что ему надо. Эти возможности и стали развиваться.
К плюсам MS Access относиться то, что почти сразу там появилась возможность обращаться к базе на SQL Server, т.е использовать всё быстродействие, которое обеспечивал сервер.
Выглядело это примерно так:

… т.е как и в ASP примерах это вызов хранимой процедуры (StoredProc) с какими-то переданными ей параметрами. При такой работе всё работа с данными перекладывалась на сервер, а Access становился инструментом написания клиентского приложения, т.е тем, что только рисует на экране полученную от сервера информацию.
1С появился очень давно. Если не в начало 90-х, то точно в середине. Изначально он был средой разработчика, позволяющей писать программы для бухгалтерии. Т.е в нем была возможность расставлять кнопки на форме, был свой внутренний язык и всё, что и должно быть в среде разработчика. Но поскольку это было всё-таки средством разработки бухгалтерских программ повсеместным инструментом написания чего угодно он не был хотя бы потому, что он был сложнее из-за постоянно прикрученных с нему бухгалтерских возможностей.
Всё это у него естественно осталось и даже развилось. Но наиболее интересно у них то, что сделано для 4-го типа пользователя, т.е возможности настройки которые есть у пользователя (и не требуют участия программиста). Всё это у них есть с версии 8.2
Для начала отчёты.
Вот так, например, выглядит отчёт:

Если ввести какие-то параметры и нажать кнопку «Сформировать», но появится какая-то таблица, внешний вид которой настроен мной.
Но со стороны пользователя, т.е по кнопке «Все действия»->»Изменить вариант» видно примерно то же что видно со стороны программиста и поменять прямо отсюда можно всё:

Называется это система СКД и это не набор фильтров. Здесь огромное(!) количество возможностей по выводу в отчёт той информации, которая выкачена из базы SQL строкой.
Полная настройка отчёта с программистской стороны включает настройку выборки данных их базы:

… и уже настройку вида этой информации, сходную с той, что видно со стороны пользователя:

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

Фильтрами и сортировками никого особо не удивишь, но даже строки можно красить со стороны пользователя:

… т.е и здесь со стороны пользователя и без участия программиста с полученными данными можно делать что угодно (точнее отображать их как угодно).
Но самое интересное, что у них есть это так называемые «Планы видов характеристик»:

По названию невозможно понять, что это такое. Реально это возможность со стороны пользователя добавлять поля в справочники (точнее нечто аналогичное по результатам). Есть например всё тот же справочник товаров. Кроме названия у товара есть артикул, группа и вид. Везде что-то заполняется всё можно печатать и по всему можно выбирать. Но чтобы у товара появился например цвет программист должен добавить поле «цвет» в таблицу товаров даже если всё остальное пользователи вытащат сами настройками форм и отчётов. Благодаря этому инструменту и в этом случае теперь можно обойтись без участия программиста.
Есть, например справочник субъектов РФ. Каждый субъект имеет код, название тип (субъект, ФО, страна), прочее:

А вот прицепленные к субъекту характеристики:

В данном случае мне потребовалось разбить субъекты на несколько групп. Это и было сделано.
Список уже введённых характеристик:

При обычной работе мне все эти поля потребовалось бы добавить в справочник субъектов и дать возможность пользователю ввести информацию в колонки таблицы. Здесь же как и в любой таблице я могу просто добавить строку.
Характеристика может быть чем угодно:

… Числом, строкой, да/нет, выбором из списка.
В базе это хранится не в новых колонках справочника, но когда это введено вся система работает с этим также как если бы поля были добавлены туда:

… Конкретно тут, в настройке отчёта, поле «Наименование» из справочника находится в том же списке что и характеристики.
Конфигурации 1С лежат тут:
http://akostina76.ucoz.ru/publ/5-1-0-8

 

Просмотров: 255 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz