МинистерствообразованияУкраины запорожскийгосударственныйтехническийуниверситет | ||
Зав. кафедрой | ||
Автоматизированноерабочее местооператораавтоматизированногопереговорногопункта и информационнойсистемы | ||
Пояснительнаязаписка кдипломномупроекту | ||
Разработал ст. гр.РП-411 | КоноваловИ.А. | |
Руководитель | ОнищенкоВ.Ф. | |
КОНСУЛЬТАНТЫ: | ||
по экономике | ОстапенкоВ.В. | |
по охранетруда и экологии | Ярош А.Г. | |
Нормоконтролер | БашмаковаЛ.И. | |
1996г. |
запорожскийгосударственныйтехническийуниверситет
ФакультетрадиоприборостроительныйКафедраконструированияи производстварадиоаппаратуры СпециальностьПРОГРАММНОЕобеспечениевычислительнойтехники и сапр | ||
УТВЕРЖДАЮ: | ||
Зав.кафедрой | ||
«___»_________________1996г. | ||
ЗАДАНИЕ НАДИПЛОМНЫЙПРОЕКТ СТУДЕНТУ | ||
КоноваловуИлье Анатольевичу | ||
1. Темапроекта:Автоматизированноерабочее местооператораавтоматизированногопереговорногопункта и информационнойсистемы, утвержденаприказом поинституту от«___»___________1996г. №___________ 2. Сроксдачи студентомзаконченногопроекта______________________________ 3.Входные данныек проекту:Техническоезадание наавтоматизированнуюпрограммноаппаратнуюсистему расчетаза услугиЭЛЕКТРОСВЯЗИ(АПАС РУЭС) 4.Содержаниерасчетнопояснительнойзаписки: титульныйлист; задание;аннотация;содержание;основной текст;список использованныхисточников;приложение. 5.Переченьграфическогоматериала: Лист1: общая структурасоединенияАРМ АПП и ИСв составе АППГОЭС. Лист2: схема межзадачногообмена. Лист3: протоколыобмена по каналамсвязи. Лист4: архитектураАПП-РК. Лист5: структурапрограммы-контроллераАПП-РК. |
6.Консультантыпо проекту суказаниемразделов проекта,которые ихкасаются. | |||
Раздел | Консультант | Подпись,дата. | |
Заданиевыдал | Заданиепринял | ||
5. | ОстапенкоВ.В. | ||
6. | ЯрошА.Г. | ||
7.Дата выдачизадания | |||
Руководитель | |||
Заданиепринял длявыполнения |
Календарныйплан.
Пор.№ | Названиеэтапов дипломногопроекта | Сроквыполненияэтапов проекта | Примечание |
1 | Получениетехническогозадания | 01.12.95 | |
2 | Разработкаосновных решенийпо дипломномупроекту | 01.01.96- 31.01.96 | |
3 | Разработкадокументации | 01.02.96- 29.02.96 | |
4 | Разработкапрограммнойреализации | 01.03.96- 31.03.96 | |
5 | Отладкапрограмм | 10.3.96- 31.3.96 | |
6 | Тестирование | 01.04.96- 10.4.96 | |
7 | Испытаниеподсистемы | 11.04.96- 30.04.96 | |
8 | Испытаниев системе АППГОЭС | 20.04.96- 30.04.96 | |
9 | Внедрение | 01.05.96- 31.05.96 | |
Студент- дипломник | ||
Руководительпроекта |
РЕФЕРАТ
Текст ПЗ
АВТОМАТИЧЕСКИЕКАБИНЫ, РУЧНЫЕКАБИНЫ, АВТОМАТИЗИРОВАННЫЙПЕРЕГОВОРНЫЙПУНКТ, АВТОМАТИЗИРОВАННОЕРАБОЧЕЕ МЕСТОАВТОМАТИЧЕСКОГОПЕРЕГОВОРНОГОПУНКТА И ИНФОРМАЦИОННОЙСИСТЕМЫ, формыоформленияручных заказов.
Междугороднаятелефоннаясвязь - одиниз наиболееоперативныхвидов связи.Она имеет важноезначение дляруководствадеятельностьюпредприятий,учрежденийсо стороныгосударственных,общественныхи хозяйственныхорганизаций.
Междугороднаятелефоннаясвязь должнаработать четко,бесперебойно.Работникимеждугороднойтелефоннойсвязи на основесознательного,рыночногоотношения 'ктруду и строгойпроизводственнойдисциплиныдолжны культурнои внимательнообслуживатьгосударственныеучрежденияи предприятия,общественныеорганизациии населениеУкраины.
Автоматизированныесистемы управлениягородскимиотделениямисвязи являютсянепременнойатрибутикойсовременныхпереговорныхпунктов общегопользования.АПП ГОЭС представляетновое поколениеАСУ этого классаиз семействавыпускаемойнами продукции,хорошо зарекомендовавшейсебя более чемв трехстахгородах СНГ,Балтии и зарубежом.
В АПП ГОЭСреализованыпоследниедостиженияв этой области.АПП ГОЭС являетсякомплекснымизделием,сконцентрировавшимв себе весьспектр услугпредоставляемыйсегодня наГОЭС.
Существующийна сегодняшнийдень уровеньавтоматизациидостаточендля выполненияосновных функцийпредоставленияуслуг электросвязинаселениюобласти, однакоинформация,обрабатываемаяотделом автоматизированныхсистем управления(АСУ) не обеспечиваетполученияприбыли запредоставленныеуслуги в полномобъеме. Существующаясистема предоставленияуслуг электросвязинаселениюобласти приводитк прямым потерямсредств присуществующейсистеме платежей.Действующаясистема расчетовза услугимеждугороднойэлектросвязиимеет существенныенедостатки,основными изкоторых являются:
длительноевремя оповещенияабонента оразмерах исроках оплатыза услуги;
наличие серьезныхорганизационно техническихпроблем контролянеплатежейи выполнениясанкций занеуплату(отключениетелефона);
большой объемручного труда(несмотря наиспользованиеЭВМ), снижающегоуровень оперативностиподготовкиданных и приводящегоошибки в системурасчетов зауслуги.
СОДЕРЖАНИЕ
ЗАДАНИЕ НЕПРОЕКТ2
РЕФЕРАТ3
введение6
ЗАКЛЮЧЕНИЕ91
Список использованных источников92
Приложение1: Спецификация компонентов системы94
Приложение2: Текст программы АРМ АПП АК95
Приложение3: Текст программы монитора АПП-РК102
Приложение4: Текст программы АРМ АПП РК111
Приложение5: Текст программы стартера монитора126
введение
В процессепроведенныхисследованийколлективомпрограммистовСП “ПРОНАНltd” и субподряднымиорганизациями:Центром информационныхтехнологийКомитета понауке и технологиямУкраины и частнымпредприятием“ГЕО” (г. Москва)была разработанаконцепциябезбумажнойтехнологииобработкиинформациипо расчетамза услугиэлектросвязи.Разработаныорганизационныемероприятияпо изменениюсистемы платежейна базе организациивысокоавтоматизированныхгородскихотделенийэлектросвязии районныхузлов электросвязи.
В процессевыполненияработы проведенообследованиеосновныхподразделенийЗапорожскогоцентра техническойэксплуатациимеждугородныхтелеграфно телефонныхсвязей (ЦТЭМТТС), непосредственносвязанных спредоставлениемуслуг электросвязинаселению ипредприятиямобласти. СтруктураЦТЭ МТТС приведенана рис. 1.
СтруктураЦТЭ МТТС.
рис. 1
На основанииразработаннойи одобреннойтехническимсоветом заказчикаконцепцииразработаныосновныепредварительныетехническиепредложения,позволяющие:
провестиреорганизациюсуществующихпереговорныхпунктов ввысокоавтоматизированныеотделенияэлектросвязигородов и районовобласти ссокращениемзатрат и расширениесферы услугэлектросвязи;
разработатьсхемы построениясети вычислительныхсредств набазе микрокомпьютеров;
разработатьсистему обработкиинформациии схему автоматизациипроизводственногои управленческогоперсонала,обеспечивающуюдостаточныйуровень качествапредоставленияуслуг электросвязине имеющий внастоящеевремя аналоговв Украине;
разработатьи одобритьтехническимсоветом заказчикабезбумажнуютехнологиюрасчетов снаселениемобластногоцентра за услугиэлектросвязи.
Предыдущиепопытки разработчиковСП “ПРОНАНltd” автоматизироватьработу городскихотделенийэлектросвязи(ГОЭС) прошлиуспешно. Одноиз наиболееиспользуемыхсредств малойавтоматизацииАПП-РК (автоматизированныйпереговорныйпункт с ручнойкоммутацией).
Автоматизированныесистемы контроляи управленияведениеммеждугородныхтелефонныхразговоровявляются непременнойатрибутикойсовременныхпереговорныхпунктов общегопользования.АПП-РК представляетновое поколениеустройствэтого классаиз семействавыпускаемыхнами изделий:АПП-80, АПП-16, АПП-16/32,хорошо зарекомендовавшихсебя более чемв трехстахгородах СНГ,Балтии и зарубежом.
В АПП-РК реализованыпоследниедостиженияв этой области- интеллектуальнаясистема управления,электронныекоммутаторыканалов, компьютерныеканалы связи.АПП-РК являетсякомплекснымизделием,сконцентрировавшимв себе весьспектр оборудования,используемогосегодня напереговорныхпунктах дляпредоставленияуслуг по ведениюмеждугородныхи международныхпереговоров.Являясь законченнымавтономнымизделием, АПП-РКв то же времяимеет каналсвязи с автоматизированнымисистемамиболее высокогоуровня, чтопозволяетвстраиватьего в качественизового звенасистем АСУ.
Отделенияэлектросвязиоснащены двумятипами кабин:ручными иавтоматическими.Кабины подключенык АПП-РК. Являясьзаконченнымавтономнымизделием, АПП-РКв то же времяимеет каналсвязи с автоматизированнымисистемамиболее высокогоуровня, чтопозволяетвстраиватьего в качественизового звенасистем АСУ.
Для работы савтоматическимикабинами наГОЭС используютсяАПП-РК какзаконченноеизделие. АПП-РКпредставляетсобой микропроцессорноеустройствона базе МПУ-80.МПУ-80 полностьюсовместимасо стандартнойCP\M машиной.
Основные функциипри автоматическойсвязи: подключение/отключениекабин с пультаоператора;фиксация началаразговора,егопродолжительности,а также кодазоны, набираемогоабонентом;регистрацияденежногозадатка абонента,тарификациявремени разговораи вычислениеостатка отзадатка поокончанииразговора;заблаговременноеуведомлениеклиента обокончанииоплаченноговремени кратковременнойподачей звуковогосигнала; уведомлениеклиента обошибочно набранномим коде городаподачей непрерывногозвуковогосигнала; автоматическоеотключениеабонента приисчерпаниизадатка; печатьизвещения поокончаниикаждого разговора,печать дневникаработы оператора.
Основные функциипри ручнойкоммутацииабонентов:включение/отключениекабин с пультаоператора;регистрациявходящеговызывногосигнала поконкретнойкабине с дублированиемего для оператора;захват и удержаниелинии вызывающегоабонента свыдачей в егоадрес тональногосигнала; контролькачества связиоператоромв любой из выбранныхкабин.
Дополнительныефункции: индикацияна переднейпанели состояниякабин переговорногопункта; подсчетв течение сменыколичествапринятых отклиентов денег;формированиесводной таблицыдоходов повсем кабинами принятымтелеграммам;выдача статистическойинформациипо кабинам;тарификациятелеграмм (АППкак кассовыйаппарат) и выдачаквитанций напечатающееустройство;оперативнаясмена текущихтарифов с пультаАПП.
В состав АПП-РКвходит: блокуправления;принтер "ЭлектроникаМС6313"; телефоннаятрубка.
Основные техническиеданные АПП-РК.
Тип обслуживаемогооконечногоустройствателефонныйаппарат илиМТА.
Максимальноеколичествообслуживаемыхтелефонныхканалов 32.
Питание 220В +/-10%, 50Гц.
Потребляемаямощность, неболее 40 Вт.
Вес блокауправления,не более 12 кг.
С помощью клавиатурыоператор управляетработой АПП,а также можетзапрашиватьвыполнениесервисныхфункций. Всяинформация,необходимаядля работыоператора иобслуживанияклиентов, выводитсяна принтер.Блок управления,содержащийв своем составеуправляющуюмикро-ЭВМ (МПУ-80М)и платы коммутаторовтелефонныхканалов (АК-8,РК-4), обеспечиваетконтроль, управлениеи формированиерезультатовпо предоставляемымразговорам.К нему же подключаютсяустройстваввода/вывода(клавиатура,принтер), а такжеиндикаторныепанели (АК иРК) и обслуживаемыеоконечныеустройства(телефонныеаппараты, МТА).При помощителефоннойпанели операторможет проверитькачество связив кабинах сручной коммутациейабонентов.
Блок управлениясостоит из:
управляющеймикро-ЭВМ МПУ-80М,
клавишнойпанели,
плат коммутаторов(до четырехштук),
индикаторныхпанелей (поодной на каждуюплату коммутатора),
телефоннойпанели,
блока питания,
кросс-платы.
Общее количествоплат коммутаторовне может превышатьчетырех. Конкретноеколичествоплат АК и РКопределяетсязаказчикомсистемы исходяиз потребностейпереговорногопункта.
Конструктивноблок управлениявыполнен вметаллическомкорпусе совстроеннойкассетой дляустановкимодулей МПУ-80Ми коммутаторов.Внутри блокаАПП-РК располагаетсяблок питания,выходные напряжениякоторого поступаютна кросс-платуи далее наустанавливаемыена нее модули.Модули блокауправлениямогут располагатьсяв блоке в произвольномпорядке. Ккросс-платеподключаютсятакже индикаторныепанели и клавиатура.
Ниже краткоперечисленыосновные функциимодулей блокауправления.
МПУ-80М - представляетсобой управляющуюмикро-ЭВМ; управляетсистемой вцелом в соответствиис записаннойпрограммой.
Техническиеданные МПУ-80М.
Тип микропроцессораКР580ВМ80А
Тактовая частота2,15мГц
Объем ОЗУ наплате 4 Кбайт
Максимальноадресуемыйобъем ППЗУ(64+4) Кбайт
Объем ППЗУ наплате до 32 Кбайт
Максимальноадресуемыйобъем ОЗУ (64+32)Кбайт
Интерфейспоследовательноговвода-выводаСТЫК С2 или ИРПС
Скорость передачиинформациипо интерфейсуСТЫК С2 и ИРПС75, 150, 300, 600, 1200, 2400, 4800, 9600 бит/с
Интерфейспараллельноговвода-вывода48 линий ввода-вывода.
Система прерыванийприоритетнаявосьмиуровневая
СистемнаямагистральинтерфейсИ-41
Резидентноематематическоеобеспечениепрограмма -монитор
Основные функции:управлениемодулями АК-8,РК-4; сбор информациио состояниителефонныхканалов, подключенныхк этим модулям;организацияинтерфейсас оператором(отработкакоманд, вводимыхс клавишнойпанели; вводновых тарифови т. д.); организацияинтерфейсас принтером(печать командоператора,результатових выполненияи различнойдругой информации).
АК-8 - модулькоммутаторовтелефонныхканалов дляавтоматическоймеждугороднейсвязи. Предназначендля сбора информациио состоянииподключенныхк нему телефонныхлиний (наличиепереполюсовки,положениетрубки) а такжедля коммутацииэтих линий стелефоннымиаппаратами.
РК-4 - модулькоммутаторовтелефонныхканалов дляручной междугороднейсвязи. Основныефункции: коммутациятелефонныхлиний и сборинформацииоб их состоянии.Возможно такжеподключениеоператора дляконтроля качествасвязи, а такжезахват и удержаниелинии вызывающегоабонента.
КЛАВИШНАЯПАНЕЛЬ - предназначена для вводаинформациив АПП (командыоператора,ввод тарифови т. д.).
ТЕЛЕФОННАЯПАНЕЛЬ - представляетсобой телефонныйномеронабирательс памятью на22 номера.
ПАНЕЛЬ П8 -предназначенадля индикациизанятостикабин, подключенныхк модулям АК-8,а также положениятелефоннойтрубки в этихкабинах.
ПАНЕЛЬ П4 -предназначенадля индикациизанятостикабин, подключенныхк модулям РК-4,наличия в линиитональногосигнала вызова,а также управлениямодулем РК-4(захват и удержаниелинии вызывающегоабонента,подключенияоператора клинии для контролякачества связи).
БЛОК ПИТАНИЯ- преобразуетвходное напряжениесети 220V в наборпостоянных напряжений:+5V, +12V, -12V, обеспечиваятем самымэлектропитаниевсей системы.
КРОСС-ПЛАТА- является связующимзвеном междувсеми вышеперечисленнымимодулями. Крометого, содержитгенератортональныхсигналов,используемыхмодулями АК-8и РК-4.
Взаимодействиеблока управленияс внешнимиустройствами
С целью созданияудобства вэксплуатациивесь обменинформациеймежду блокомуправленияи внешнимиустройствамиосуществленпосредствомстандартныхинтерфейсов:
блок управленияи принтер -"Centronics" (ИРПР-М);
блок управленияи АСУ - C2 или ИРПС;
блок управленияи АТС - черездвухпроводнуюлинию;
блок управленияи оконечныеустройства- через двухпроводнуюлинию.
ПрограммноеобеспечениеАПП-РК располагаетсяв ППЗУ микро-ЭВММПУ-80М. Его можноусловно разделитьна две части:
управляющее;
диагностическое.
Управляющеепрограммноеобеспечениевыполняетфункции управления,контроля исервиса переговорногопункта в целом.Диагностическоепрограммноеобеспечениепредназначенодля проведенияпрофилактическихработ на переговорномпункте, а такжепри поиске иустранениинеисправностейв период эксплуатации.
ПрограммноеобеспечениеадаптируетсяпоставщикомАПП под АТСзаказчика. Пожеланию заказчикаоно может бытьдополненофункциями ивозможностями,не входящимив вышеперечисленныйстандартныйнабор.
Управлениеавтоматическимикабинамипроизводитсяс помощью блокаАПП-РК (автоматическипереговорныйпункт с ручнойкоммутацией)с подключеннымк нему принтером.При внесенииклиентом задаткаоператор включаеткабину, указываяразмер задатка.После окончанияразговораклиент обращаетсяк оператору,который отключаеткабину. Послеотключениякабины принтеротпечатываетразмер остатка,количестворазговорови их длительность,сумму по разговорам.Остаток возвращаетсяклиенту.
Вся отчетностьпо работеавтоматическихкабин осуществляетсяна основаниираспечаткиработы автоматическихкабин, выдаваемойпринтером.
При оформленииручного заказазаполняетсядокумент МТФ 4,являющийсядокументомстрогой отчетности.Документыпоступают наотделениеэлектросвязив виде пачекпо 100 экземпляровв каждой. Каждыйдокумент имеетсвой уникальныйномер.
При заполненииформы МТФ 4указываетсявызываемыйнаселенныйпункт, телефонвызываемого,список услуг(справка, пригласитьк телефону ит.д.), время приемазаказа, номероператора,принявшегозаказ, количествозаказываемыхминут.
После заполненияуказанных вышесведений заказпередаетсяна станцию.При этом в формеуказываетсявремя передачизаказа и номероператорастанции, принявшегозаказ.
При соединениив форму заноситсявремя выполнениязаказа, номероператора,выполнившегозаказ.
По окончанииразговораоператор станциипередает операторуотделенияэлектросвязиколичествоминут разговораи свой номер.Остаток суммызадатка возвращаетсяклиенту.
В случае несостоявшегосяразговора вформе МТФ 4делается отметкао причине снятиязаказа и номероператора,снявшего заказ,при этом деньгивозвращаютсяклиенту.
По отработаннымформам МТФ 4ведется статистикао состоявшихсяи несостоявшихсяразговорахпо различнымрегионам: области,Украине и СНГотдельно.
В последнеевремя отделениясвязи оснащеныкассовымиаппаратамикласса “Онега”.Данный кассовыйаппарат позволяетпечатать квитанциюс указаниемтекущей даты,номера отделениясвязи и суммыпроизведеннойоплаты, а такжеснимать показанияпо суммам,оформленныхс момента последнегоснятия этихпоказаний.
Кассовый аппаратпозволяетвыделить накаждый видоплаты отдельныйуникальныйномер (от 1 до9) и вести оформлениеквитанций поотдельнымвидам оплатс суммированиемэтих сумм отдельнопо каждомувиду. При снятииинформациив конце сменыраспечатываютсясуммы по отдельнымвидам оплат,а также общаясводка по всемпринятым суммам.Кассовый аппаратпозволяетполучать сводкупо оплате дляотдельноговида оплатыс указаниемв построчномвиде всех принятыхсумм. В случаеоформлениявозврата денегклиенту покаким либопричинам, даннаясумма вводитсясо знаком “-”,в сводкахотображаетсяс соответствующимзнаком и к общейсумме не прибавляется,а вычитается.
Снятые показанияс кассовогоаппарата служатдля отчетностипо отделениюсвязи. Сводкипо приему оплатпо квитанциямза услуги,предоставленныев кредит снимаютсяв конце каждойсмены и сшиваютсявместе с корешкамиквитанций дляотчетностис МГТС. В концесмены операторомпроизводитсятакже сверкакорешков квитанцийсо сводкой напредмет правильностивзымания платы.Сводка по приемутелеграммтакже распечатываетсяв конце сменыи сшиваетсяс заполненнымибланками телеграммс предварительнойсверкой суммпо сводке.Аналогичнаяоперацияпроизводитсяпри работе савтоматическимии ручными кабинами.
АПП ГОЭС представляетсобой аппаратно-программныйкомплекс, которыйвключает всебя техническиеи программныесредства,позволяющиеавтоматизироватьряд действийперсоналагородскогоотделенияэлектросвязиили районногоузла связи.
После исследованияобъектовпроектирования,можно прийтик выводу, чтонаиболее удобнойдля использованияна ГОЭС (РУЭС)является следующаяструктурасистемы.
На каждом ГОЭСставится центральныйкомпьютер, ккоторомуподключаетсянеобходимыйдля данногоГОЭС набортехническихсредств: АПП,телеграфныйадаптер, информационнаясистема и т.д.На каждом отделенииэлектросвязибудет иметьсясвоя БД, включающаяв себя всенеобходимыедля работыГОЭС справочникии НСИ. В этомслучае будетиметь местоизбыточностьинформации,т.к. на каждомотделенииэлектросвязибудет дублироватьсяБД массиваквитанцийнаселениягорода, картотекиквартирныхулиц, тарифови т.п. Но при этомдостигаетсянезависимостьфункционированияГОЭС от другихГОЭС, в связис чем появляетсявозможностьиспользованияАПП ГОЭС (РУЭС)в виде независимойлокальнойсистемы, свозможностьюсвязыванияс другими машинамипутем обменаинформациейв специфичномвиде черезмашинные носители,как то дискеты,переноснойвинчестер.
Для разрабатываемойсистемы выдвигаетсятребованиео том, что эксплуатацияпрограммно техническогокомплекса вчасти решенияприкладныхзадач не должнапредъявлятьособых требованийк квалификациипользователейи быть ориентированнойна конечногопользователянезависимоот того, являетсяон руководителемили исполнителем(оператором).
Выполнениефункций комплексапрограмм системыдолжно бытьреализованос применениемсовременныхсредств организациивзаимодействияс пользователем,включая:
привычные дляоператоровназвания объектови действий;
выбор операцийпосредствомменю и функциональнойклавиатуры;
выбор объектови действий извыводимых наэкран их перечней;
вывод поясняющихсообщений налюбом этапеработы;
технологическиблизкий кестественномупереход отодной операциик другой прирешении задач.
Так как на каждомГОЭС будетформироватьсясвоя техническаябаза, но с использованиемодной и той жесистемы, то мыможет иметьвозможностьоперативноизменять составтехническихсредств безизмененияпрограммнойчасти и с минимальнымизатратами намодификациюстарой техническойбазы, т.к. в основекаждого ГОЭСбудет стоятьминимальныйнабор техническихсредств, какпоказано ниже,а дальнейшееего изменениебудет происходитьпростым подключениемдополнительныхтехническихсредств безизменениябазовых.
АПП-РК хорошозарекомендовалсебя как устойчивоработающееоконечноеустройствои это естьдостаточноеобоснованиевыбора его дляиспользованиякак контроллераавтоматическихи ручных кабин.В АПП ГОЭС АПП-РКиспользуетсяв качественизового узлаАСУ.
Информационнаястанция представляетсобой специализированныйинтеллектуальныйтерминал, которыйподключен поканалу ИРПСк локальномусерверу АППГОЭС. ИС собранана базе ПК“ПРИОР-001” являетсясерийно выпускаемымизделием СП“ПРОНАН ltd”. ПК“ПРИОР-001” представляетсобой 8-разряднуюодноплатнуюмикро-ЭВМ иявляется аналогомшироко распространенногокомпьютера“Spectrum 48+” фирмы“Sinclair”.
Компьютер“ПРИОР®-001” выполненна современнойэлементнойбазе - интегральныхмикросхемахмалой и среднейстепени интеграции.Архитектуракомпьютерабазируетсяна высокопроизводительноммикропроцессореZ80A фирмы SGS-THOMPSON.
Упрощеннаяблок - схемаинформационнойстанции представленана рис. 2.1
Схемаинформационнойстанции
рис. 2.1
С целью облегченияразработкипрограммногообеспечениябыл использованединый подход,что привелок универсальностиразработанногосистемногои прикладногоПО при использованииего в двух различныхсистемах.
ПрограммноеобеспечениеАРМ АПП и АРМИС подразделяетсяна две части.
Системное ПО,которое обеспечиваетработу всегокомплекса ссоблюдениемследующихусловий:
функционированиеоперационнойсистемы вмногопользовательскомрежиме с минимальнымизатратамиресурсов последней;
работа в реальномили псевдореальноммасштабе времени;
обеспечениевозможностиработы в локальнойи глобальнойсетях с использованиемкак выделенных,так и коммутируемыхканалов связи;
использованиесредств формированиябазы данных,обладающейминимальнымвременем доступак данным иобеспечивающимсохранностьи их целостность;
наличие эффективногоязыка программированияи хорошиеинструментальныесредства дляразработкиприкладногопрограммногообеспечения;
возможностьпереносимостина различныетехническиеплатформы.
Прикладноепрограммноеобеспечениеудовлетворятследующимтребованиям:
имеет дружественныйинтерфейс снепрофессиональнымпользователем;
обеспечиваетадаптациюсистемы кизменяющимсяусловиямэксплуатации;
имеет возможностьбыстрого расширенияи изменениякруга реализуемыхфункций;
максимальноудобно реализуетсвязь всехфункций сцентрализованнойбазой данных;
обеспечиваетсанкционированныйдоступ к информациибазы данных;
ведет подробныйпротокол работыпользователейсистемы иоборудования;
позволяетоперативнои централизованноперераспределятьресурсы системыадминистраторубазы данных;
обеспечиваетпреемственностьработы натехническихсредствахразличнойконфигурации.
Инструментальнымсредством,удовлетворяющимвышеприведеннымтребованиями обеспечивающимхорошее соотношениестоимость/производительность,является ОСДТ-МАКС (DT-MAX) версии6.0, которая иприменены вданном комплексе.
Разрабатываемоеавтоматизированноерабочее местооператораавтоматическихкабин и информационнойсистемы предназначенодля работы нагородскихотделенияэлектросвязи(ГОЭС) в составеавтоматизированнойсистемы управленияАПП ГОЭС. АРМАПП реализованыпо принципуоконного интерфейсас использованиембиблиотекиДТМ-ПРО (“DTM PRO”).
Реализованнаяв АРМ АПП концепцияработы обеспечиваетнаиболееблагоприятныеусловия попредоставлениюуслуг телефоннойсвязи, а такжесводит к минимумузатраты на егоустановку иэксплуатацию.
Пользовательскийинтерфейсразработаннойсистемы построентаким образом,что оператор,работающийв системе, невстречаеткаких либоспецифическихособенностейпри работе слюбой задачей,независимоот того к какойподсистемеэта задачаотносится.
Функциональновыделеннаязадача оформляетсяв виде отдельнойпрограммы,которая призапуске, оперируяс общесистемнымипеременнымии специфическими(специальными)данными даннойсистемы, решаетпоставленнуюзадачу и возвращаетсяв точку вызоваэтой программы.
При написаниивсех программшироко используетсяинтегрированнаясреда разработчика,включающаяв себя пакет"UniForm".
Данный пакетсостоит изпроцедур ифункций, позволяющихлегко оперироватьсписками приих выводе наэкран, организовыватьспециальныеокна для выводаинформацииразличногорода на экран.Кроме этого,пакет содержитредактор форм,позволяющийлегко представитьвид выводимойна экран информации,как статическоговида, так иинформации,изменяемойв процессеработы. Этопозволяеторганизовыватьразличноговида строки поля, в позициикоторых производитсяввод и выводизменяющейсяинформации.Каждой такойстроке, кромепозиции, задаетсяуникальноеимя, порядковыйномер, определяющийпоследовательностьв котором будетпроизводитьсяперемещениепо строкам впроцессе работыс данной формойвывода. Кромеэтого, для каждогополя выводазадается функцияконтроля вводасимволов,позволяющаязадать набордопустимыхсимволов дляввода. Данныйпакет обладаетшироким наборомтипов используемыхсимволов. Так,например, еслиуказан типполя "русскиебольшие буквы",то независимоот того, в какомрежиме вводанаходитсяклавиатура,вводимые символыбудут преобразовыватьсяв заглавныерусские буквы.Данный пакетпозволятустанавливатьактивные ипассивныецвета для каждогополя, а такжеимена процедур,которые будутвызыватьсядо и после обращенияк данному полювывода.
Кроме описанныхвыше характеристик,данный пакетобладает рядомвозможностей,на которых мыне будем заострятьвнимание.
ПрограммноеобеспечениеАРМ АПП и ИС:
системное ПО;
прикладноеПО.
Системное ПОпредставляетсобой операционнуюсистему ДТМ(DTM) версии 6.0, котораяобеспечиваетфункционированиеразработанногоприкладногоПО, и на языкекоторой данноеприкладноеПО реализовано.
При разработкеприкладногоПО использованыследующиеинструментальныесредства:
редактор проектов;
редактор форм;
пакет программ“DTM PRO”, реализующийсредстваорганизацииэкранногоинтерфейсас пользователем.
ПрикладноеПО представляетсобой наборотдельныхпрограммныхмодулей, реализующихвсе функцииАРМ АПП и ИС.Для объединенияэтих модулейв единый программныйкомплекс (проект)используетсяредакторпроектов,который представляетсобой средстводля построенияиерархическихменю, в каждомконечном пунктекоторых можетвызыватьсяопределенныйпрограммныймодуль. Всясистема менюпостроенатаким образом,что задачи,назначениекоторых позволяетобъединитьих в группы,находятся водном меню.Применениетакого подходапозволяетстроить интуитивнои логическипонятное деревоменю. Редакторпроектов такжепозволяетиспользовать“быстрые клавиши”для вызовалюбого программногомодуля (пунктаменю) из любогоменю проекта,чем повышаетсяудобство пользованиясистемой, особеннопри большихуровнях вложенностименю.
Редактор формпозволяетсоздаватьразнообразныеэкранные формы,содержащиеполя ввода ивывода информацииразличноготипа, выполнятьразличныеоперации надформами (выводэкрана формы,вывод значенийполей формы,опрос полейформы).
Пакет “DTM PRO”позволяеторганизовыватьсовременныйи удобный экранныйинтерфейс спользователем,используяунифицированныесредства построенияразличныхсписков, меню,диалогов. Используябольшое разнообразиевходных параметровфункций данногопакета (размеры,цвета и т.п.),программист-разработчикможет легкостроить необходимыйдиалог с пользователем.
Для отслеживаниянабора номераодновременнов 32 работающихканалах иобслуживанияпериферийныхустройств вАПП-РК реализованпсевдо-многозадачныйрежим базирующийсяна теории автоматов.Это позволилополностьюиспользоватьресурсы микропроцессора.Обработчикпрерыванийот внешнихустройстввыставляетфлаги различныхсобытий, а автоматыих анализируют.
В АПП-РК реализованыдва одновременноработающихавтомата. Первыйавтомат реагируетна событиясвязанные сизменениямисостояний налинии автоматическогоканала (поднятие,укладка трубки;набор номера;датчики началаразговора).Второй автоматпредназначендля формированияинформациидля последующейпередачи еев канал связис локальнымсервером АППГОЭС.
Процесс отслеживаниясобытий происходящихна автоматическойлинии связипривязан креальномувремени и требуетнемедленнойреакции насобытия. В средеАПП ГОЭС возможностиавтоматическимиканалами увеличились(по сравнениюс возможностямиАПП-РК какавтономногоустройства)и поэтому пришлосьснять с негофункции тарификацииразговоров,т.е. сложныематематическиеоперации, связанныес пятибайтовойарифметикой.Эти функциибыли возложенына DTM.
АПП-РК общаетсяс сервером поканалу ИРПСчерез мультипортовуюплату типаASTBOARD. Обмен информациейпроисходитна скорости2400 бод. Этой скоростивполне достаточнодля данногообъема передаваемойинформациии обеспечениянадежности.Канал типаИРПС допускаетустойчивуюпередачу информациис данной скоростьна расстояниедо 1км.
Каждая командаприходящаяв или исходящаяот АПП-РК заканчиваетсясимволом "*".Все командыбольшие латинскиебуквы. в табл.3.1.
Таблица3.1
Описаниекоманд
Команда | Назначение |
E* | Разрешитьпередачуинформации.Эту командуследует передаватьпосле включенияили сбросаАПП-РК, иначеАПП-РК будетудерживатьвсю информациюво внутреннембуфере (буферне безразмерный,около 20 квитанций). |
D* | Запретитьпередачуинформации.После этойкоманды АПП-РКбудет удерживатьвсю информациюво внутреннембуфере (буферне безразмерный,около 20 квитанций)до поступлениякоманды “Е*”. |
S* | Списоксвободныхкабин. АПП-РКвозвращаетсписок свободныхкабин (см.Передаваемуюинформацию). |
V* | Состояниекабин. |
F* | Совмещеннаякоманда состоянийи списка кабин. |
Bn_s* | Включитькабину с номеромn на сумму s. Есликабина ручнаято s - время вминутах. Ручнуюкабину можновключить беззадания времени. |
On* | Отключитькабину. |
L[строкатарифов]* | Передатьтарифы дляАПП-РК. Форматстроки тарифовсмотрите ниже. |
P[строкаустановок]* | Передатьустановкидля АПП-РК.Формат строкиустановоксмотрите ниже. |
Строки тарифовпредставляетсобой наборсимволов, вкотором заключеныпятибайтныезначения тарифов.Первый байтстроки тарифов- размер оставшейсячасти строки.Второй байтстроки - номерстраницы тарифов(0 - междугородние,1 - международные).Дальше по 5 байтидут тарифысоответственнопо 0, 1, 2.. зонам (ихможет быть до20 шт.).
Формат строкиустановокприведен втабл. 3.2.
Таблица3.2
Форматстроки установок
Количествобайт | Назначение |
2 | ВРЕМЯОТСУТСТВИЯМАНИПУЛЯЦИЙВ ПЕРИОДАХTUPDOWN |
2 | ВРЕМЯОЖИДАНИЯ ВРУЧНОЙ КАБИНЕС УЛОЖЕННОЙТРУБКОЙ ВПЕРИОДАХ TUPDOWN |
2 | ПАУЗАПОСЛЕ ПОДНЯТИЯТРУБКИ В ТИКАХ |
2 | ПАУЗАПОСЛЕ ПЕРВОЙЦИФРЫ В ТИКАХ |
2 | ВРЕМЯПОСЛЕ НАБОРАВСЕХ ЦИФР ДООТВЕТА АБОН.В TUPDOWN |
1 | ВРЕМЯБЕСПЛАТНОГОРАЗГОВОРАВ ПЕРИОДАХTUPDOWN |
1 | КОД,ОПРЕДЕЛЯЮЩИЙТИП НАБОРА |
1 | ФЛАГМЕЖДУНАРОДНОЙСВЯЗИ |
1 | ПРИЗНАКТАРИФИКАЦИИ:0FFh-ПОСЕКУНДНАЯ,0-ПОМИНУТНАЯ,1-ПОМИНУТНАЯС ПЕРЕХОДОМНА ПОСЕКУНДНУЮ |
2 | ДИСКРЕТОКРУГЛЕНИЯПРИ СЕК ТАРИФИКАЦИИ(КОП, РУБ) |
1 | ФЛАГЧТЕНИЯ ПЕРЕМЫЧЕК |
2 | ДВА БАЙТАСО ЗНАЧЕНИЕМ0FFH |
1 тик - 1/4 секунды,1 период TUPDOWN - 1/80 секунды.
На событияпроисходящиев кабинах АПП-РКреагируетпередачейсообщений.
Формат сообщенияо начале разговора:“ВВВ NC HH.MM.SS TARIF FD PHONE”.Расшифровкаполей сообщенияприведена втабл. 3.3.
Таблица3.3
Расшифровкаполей сообщения“BBB”
Полесообщения | Назначение |
PHONE | Код+Телефон |
FD | Номерцифры, с которойначинаетсякод зоны |
TARIF | Тариф |
HH.MM.SS | Времяначала разговора(фиктивное,не беритедурного вголову.) |
NC | Номеркабины |
Пример сообщения:“BBB 01 01.10.07 8000.00 00 0951234567*”
Формат сообщенияо конце разговора:“EEE NC MM.SS COSTF REST ZONE”. Расшифровкаполей сообщенияприведена втабл. 3.4.
Таблица3.4
Расшифровкаполей сообщения“EEE”
Полесообщения | Назначение |
ZONE | Номертарифной зоны |
REST | Остаток |
COST | Стоимостьразговора |
MM.SS | Продолжительностьразговора |
NC | Номеркабины |
Формат сообщенияна командусписка свободныхкабин: “SSS NC1NC2T2 NCnTn*”.Расшифровкаполей сообщенияприведена втабл. 3.5.
Таблица3.5
Расшифровкаполей сообщения“SSS”
Полесообщения | Назначение |
Ti | Типкабины (A - авт.P - ручн.) |
NCi | Номеркабины |
В АПП ГОЭС одиноператор можетвыполнятьмножествозадач: приемкредитов, телеграмм,обслуживаниеАК и РК и т.д.Разговоры вкабинах происходятво времени независимо оттого, чем занимаетсяоператор иреакция насообщенияприходящиеот АПП-РК должнапроисходитьсразу. Для этогомежду процессомоператора иАПП-РК запускаетсятеневой процесскоторый постоянноподдерживаетсвязь с АПП-РК.Передача информациимежду процессамипроисходитчерез глобальныепеременные.Теневой процессреализованв модулях iapbckgи ipabckgsub. Помимосвязи с АПП-РКтеневой процессзанимаетсяинициализациейАПП-РК, загрузкойсистемныхустановок,загрузкойтарифов, отслеживаниемаварийныхситуаций,формированиемзаписей в реестре,формированиемсообщений дляпроцесса операторы,формированиемжурнала работыАПП-РК. Описаниеглобальныхпеременныхиспользуемыхв АРМ АПП приведенов табл. 3.6.
Таблица3.6
Описаниеглобальныхпеременных
Названиеглобальнойпеременной | Узел | Назначение |
^appcab | (i) | состояниеi-отй кабины |
^appcab | (i,j) | суммаи количестворазговоровпо j-той зонев i-той кабине |
^appstat | ("CMD") | передачакоманды отпроцессаоператорав теневойпроцесс |
^appstat | ("STATUS") | состояниетеневогопроцесса |
^appstat | ("TARIF","AUTO8",j) | тарифыдля СНГ по j-тойзоне |
^appstat | ("TARIF","AUTO108",j) | тарифыдля СНГ по j-тойзоне |
^appstat | ("SETUP") | системныеустановкина АПП-РК |
^appticket | (i,n) | квитанциипо i-той кабинедля n-го разговора |
Идея информационнойсистемы являетсяновшествомв сфере услугпредоставляемыхЦТЭ МТТС потребителям.Зачастую рядовойпользовательне знает автоматическихкодов городовСНГ и дальнегозарубежья.Использованиеавтоматическойтелефоннойсвязи требуетзнание кодов.Потребительвынужден обращатьсяк операторуАПП за даннойинформацией,чем отнимаету операторарабочее время.ИС дает потребителюдостаточнопросто и быстрополучить нужнуюему информацию.
Помимо кодовнаправленийавтоматическойтелефоннойсвязи ИС даетинформациюпользователямоб услугахМТТС, которыеон должен оплатить,что особеннонеобходимопри переходена безбумажнуютехнологию.
Среди дополнительнойинформациивыдаваемойИС есть: тарифына услуги телефоннойсвязи и информацияо подписныхизданиях. ПомимоинформацииИС используетсякак рекламноетабло с достаточнобогатым наборомфункций MULTIMEDIA.
ИС общаетсяс сервером поканалу ИРПСчерез мультипортовуюплату типаASTBOARD. Обмен информациейпроисходитна скорости9600 бод. Этой скоростивполне достаточнодля данногообъема передаваемойинформациии обеспечениянадежности.Канал типаИРПС допускаетустойчивуюпередачу информациис данной скоростьна расстояниедо 1км.
Работа с пользователеморганизованав диалоговомрежиме с использованиемсистемы менюдля запускапрограммы,выполняющейнужную функцию.Выбор пунктаменю осуществляетсяперемещениемуказателя попунктам и нажатием“ENTER” на нужномили нажатием“быстрой клавиши”,при которомосуществляетсявызов пунктаиз любого меню,независимоот того, в какомменю находитсяоператор.
При разработкевсего интерфейсабыло отданопредпочтениеиспользованиючерно-белойгаммы цветов,так как использованиечерно-белыхмониторовпозволяетзначительноуменьшитьнагрузку назрение оператора.Кроме того,все программыразрабатывалисьс применениемусловия минимумавывода информациина экран. Этообусловленотем, что почтивсе программыбудут эксплуатироватьсяна терминалах,скорость выводаинформациикоторых неочень велика.
АРМ АПП запускаетсяиз системы АППГОЭС посредствомвыбора пунктаменю УПРАВЛЕНИЕАПП-РК\УПРАВЛЕНИЕАВТОМАТИЧЕСКИМИКАБИНАМИ, илинажатиемсоответствующейклавиши быстрогозапуска. Одновременнос АПП можетработать толькоодин оператор.После запускаАРМ АПП операторувидит списоккабин (рис. 4.1).
Форма экранапри работе сАК
Рис. 4.1
В верхней частирамки показанномер текущегооператора. Внижней - списоквозможныхклавиш и ихназначение.
Занятые кабинапомечены яркимвыделением.Для каждойкабины отображаетсязадаток, остаток,тариф текущегоразговора,продолжительностьтекущего разговора,код города ителефон и состояниекабины.
Для включениякабины необходимонажать клавишуF3 затем ввестиномер кабиныи задаток, которыйклиент вноситв кассу передразговором.
Для выключениякабины необходимонажать клавишуF4 затем ввестиномер кабины,после чегонеобходимовернуть клиентуостаток изображенныйна экране понужной кабине.
Для просмотрапротоколаразговоровнеобходимонажать клавишуF6 и ввести номеркабины. Приблизительнаяформа протоколизображенана рис. 4.2.
Протоколработы кабины
Рис. 4.2
По просьбеклиента послевыключениякабины можнораспечататьквитанциюсостоявшихсяразговоров.Для этого нужнонажать клавишуF5 затем ввестиномер кабины.Приблизительнаяформа квитанцииизображенана рис. 4.3.
Формаквитанции поразговорамв автоматическойкабине
Рис. 4.3
Для переходав оформлениеручного заказанужно нажатьклавишу F8. Длявыхода из АРМАПП нужно нажатьклавишу ESC.
При возникновениисбоя АПП-РКили пропаданиясвязи с нимАРМ АПП выводитсообщениепоказанноена рис. 4.4.
Аварийноесообщение
Рис. 4.4
При возникновенииданного сообщениянеобходимона задней панелиАПП-РК нажатькнопку сброси затем наклавиатуретерминаланажать
При вызовемодуля оформленияручного разговорана экране появитсясписок заказов,изображенныйна рис. 4.5
Списокручных заказов
Рис. 4.5
В нижней частирамки показансписок возможныхклавиш и ихназначение.В списке отображаетсяномер заказа,номер операторапринявшегозаказ, названиестраны, названиеобластногоцентра, названиерегиона, названиенаселенногопункта, времяили дата принятиязаказа в зависимостиот типа заказа(текущий илиуведомление),время ожиданияабонентомразговора.
Для полученияболее подробнойинформациипо заказу нужнонажать клавишуF4. Вид подробнойинформациипо текущемузаказу показанна рис. 4.6, поуведомленияна рис. 4.7.
Формаоформлениятекущего заказа
Рис. 4.6
Формаоформленияуведомления
Рис. 4.7
Для оформлениязаказа необходимонажать клавишуF2 затем выбратьтип заказа(уведомлениеили текущий)и заполнитьпрототип формыМТФ-4 (см рис.4.6.,рис.4.7).
Принимая заказ,телефонисткапереговорногопункта заполняетсо слов абонентапрототип формыМТФ-4 (см рис.4.6,рис.4.7) , распечататьквитанцию опринятии задаткаи выдает ееабоненту.
На квитанциидолжен бытьпоставленкалендарныйштемпель предприятиясвязи.
Если приемзаказов наразговоры сданным городомрегулируется,телефонисткапереговорногопункта, принимаязаказ от абонента,должна спроситьу телефонисткизаказной службы,на какое времяможно принятьзаказ. Получивответ, телефонисткапереговорногопункта должнасогласоватьвремя с абонентом.
Сумма вносимойабонентомплаты за заказываемыйразговоропределяетсяавтоматическина основании:
тарифа;
стоимостиминуты разговорас вызываемымпунктом;
предполагаемойабонентомпродолжительностиразговора;
указанных взаказе услуг.
После принятияу клиента задаткаоператор передаетпо телефонузаказ телефонисткезаказногокоммутаторав коммутаторныйзал и оформляетпередачу натерминале(клавиша ENTER). Преоформлениипередачи необходимоввести номертелефонисткипринявшейзаказ.
Если продолжительностьразговора заналичный расчети выполненныеплатные услугине соответствуютуказанным взаказе, телефонисткамеждугородногокоммутаторапо окончанииразговорасообщает операторупереговорногопункта продолжительностьсостоявшегосяразговора ивыполненныеуслуги. Операторвводит продолжительностьсостоявшегосяразговорамашину.
Если телефонисткамеждугородногокоммутаторасообщает, чтоневозможнопредоставитьразговор (нетвызываемоголица, по вызываемомутелефону неответили ипр.), операторнемедленнодоводит досведения абонента,ожидающегоразговора.Если последнийне называетдругого лицаи согласеножидать, операторсообщает обэтом телефонисткемеждугородногокоммутатора.
Если абонентотказываетсяожидать и снимаетзаказ, оператор,прежде чемснять заказ,должна предложитьабоненту рядуслуг дляобеспеченияразговора.
Если продолжительностьразговораокажется менееоплаченнойразница выдаетсяабоненту оператором.
Если разговорне состоялсяпо вине станцииили абонентне желает перенестиего на другоевремя, то разговорснимается исумма выдаетсяабоненту оператором.Причина снятияфиксируетсяв машине. Машинасообщает операторусумму остатка.Причины остаткаперечисленыв табл. 4.7.
Таблица4.7
Причиныснятия
Кодпричины | Описаниепричины |
ОМС | Отказв момент соединения |
НВЛ | Нетвызываемоголица |
NoНО | Номерне ответил |
ПВ | Повреждениясвязи |
ПС | Плохаясвязь |
ТИ | Телефониспорчен |
СО | Сеансокончен |
РВ | Связьпод радиовещаниемили ДГТС |
ВК | Связьзанята разговорамивысшей категорииили по срочномутарифу |
ОДС | Отказдо соединения |
ЗНЯ | Абонентне явился |
При расчетеквитанция,выданная абонентупри приемезаказа, отбираетсяи уничтожается;по требованиюабонента емувыдается квитанцияо стоимостисостоявшегосяразговора.
Операторинформационнойсистемы обязанпри принятиисмены включитьинформационнуюсистему. Обычноэту работувыполняетоператор АПП.Перед запускоминформационнойсистемы оператордолжен проверитьили при необходимостивнести измененияв конфигурациюИС. При в ходев пункт менюУПРАВЛЕНИЕИНФОРМАЦИОННОЙСИСТЕМОЙ/КОНФИГУРАЦИЯИНФОРМАЦИОННОЙСИСТЕМЫ наэкране появитсясписок устройствзарезервированныхдля ИС и ихсостояние(рис. 4.8). Внизуподписанывозможныеклавиши и ихназначение.
Форма экранпри конфигурацииинформационнойсистемы
Рис. 4.8
При редактированиинастроек илисоздании новойстанции наэкран выводитсяформа, показаннаяна рис. 4.9.
Форма экранапри редактированиинастроекинформационнойстанции
Рис. 4.9
Номер устройствасоответствуетномеру канал,к которомуподключенаИС. Если выставленфлаг монитораАПП, то информационнаястанция выполняетфункции таблорасчетов сАПП. Флаг “АКТИВНО”говорит о том,что устройствобудет запущенопри запускеинформационнойсистемы.
Развитие современнойтехники характеризуетсявсе возрастающейсложностью.Усложняютсяконструкциисоздаваемыхмашин и агрегатов,увеличиваетсячисло различныхсопряженныхзвеньев вмеханизированныхи автоматизированныхкомплексах.Целью исследованияи проектированиявсе чаще становитсякомплексноерешение вопросоввнедренияновой техники,создание неотдельныхмашин, а целыхсистем.
При созданиисложных объектовновой техникивозникаетнеобходимостьв координацииразличныхнаучно-исследовательских,опытно-конструкторских,технологических,производственных,строительных,монтажных,наладочныхи других работ.В них принимаютучастие в порядкекооперированиямногие предприятияразличныхотраслейпромышленности:проектные,опытно-конструкторские,научно-исследовательскиеи иные организации,деятельностькоторых дляобеспечениямаксимальнойэффективностиведущихсяразработокдолжна бытьтесно увязанав единый координационныйплан, предусматривающийокончаниевсего комплексаработ в заданныесроки приминимальныхили лимитированныхиздержках.
Планы работпо созданиюновой техникидолжны устанавливатьне только общуюдлительностьвсего процесса,но и продолжительностьи последовательностьвсех входящихв него работи их этапов.
При освоениеотносительнопростых объектовдля этой целидавно и широкоприменяютленточные илипоэтапныеграфики. Наэтих графикахпо горизонтальнойоси откладываютвремя, а повертикальнойперечисляютвсе работы илиэтапы процесса(рис. 5.1).
При освоениисложных объектовсовременнойтехники планированияи управленияразработкамидолжны выполнятьсяпри помощиметодов сетевогопланированияи управления(СПУ). Эти методыпозволяютоптимизироватьпроцесс созданияновой техникикак по времени(обеспечиватьминимальнуюдлительностьцикла), так ипо стоимости(обеспечиватьминимум затрат).
СПУ основанона графическомизображенииопределенногокомплексаработ, отражающемих логическуюпоследовательность,взаимосвязьи длительность,с последующейоптимизациейразработанногографика припомощи методовприкладнойматематикии вычислительнойтехники и егоиспользованиедля текущегоруководстваэтими работами.
Ленточныйграфик.
Рис 5.1
К числу основныхобластей применениясетевогопланированияи управленияотносятсякомплексныенаучные исследования,проектированиеи подготовкапроизводствасложных объектовновой техники,сооруженияинженерныхи прочих сложныхобъектов, включаястроительствопромышленных(в частности,машиностроительных)предприятийи цехов.
Модель всегопроцесса созданияданного объектаизображаетсяв виде ориентированногографа, называемогосетевым графикомили простосетью. Сетевыемодели могутиметь детерминированную,стохастичнуюи смешаннуюструктуру.
В детерминированныхмоделях всеработы проекта,их взаимосвязии требованияк ожидаемымрезультатамработ определены.Если работывключены снекоторойвероятностью,структурасетевой моделибудет носитьслучайныйхарактер. Всмешанныхмоделях частьработ входитв сеть детерминировано,а часть - с некоторойвероятностью.Понятиедетерминированностиприменяетсякак к структуресети, так и коценкам продолжительностипланируемымработ. Детерминированнымипринято обычноназывать сети,обладающиеи детерминированнойструктурой,и детерминированнымиоценкамипродолжительностиработ. Сетевыеграфики сдетерминированнойструктурой,но с вероятностнымиоценками называютвероятностными.
Элементсетевого графика.
Рис 5.2
изготовлениеопытного образцамашины, а событием- момент завершенияработы, в данномслучае моментготовностиобразца, послекоторого должнаначаться следующаяработа - егоиспытание идоводка. Такимобразом, сетевойграфик выражаетлогическуюпоследовательностьи связь событий,а каждое событиеявляетсяпромежуточнымили окончательнымрезультатомодной или несколькихвыполненныхработ.
На рис. 5.2 изображенфрагмент сетевогографика. Событиеобозначеныкружком с указаниемв нем егопоследовательногономера, а работы- стрелкой. Номерсобытия у остриястрелки конечногособытия j долженбыть большеномера начальногособытия i (скоторого начинаетсяданная работа).Длина стрелкиграфическине выражаетпродолжительностивыполненияработы, онаобозначаетсячислом днейили недель инаносится надстрелкой. Еслидля переходаот одного событияк другому нетребуетсязатрачиватьвремя, а на графикенеобходимоизобразитьвзаимную связьэтих событий,то их соединяютпунктирнойстрелкой. Такаяработа называетсяфиктивной илиусловной.
На рис. 5.3. изображенсетевой графикдля весьманесложногокомплексаработ по проектированиюи изготовлениюстенда.
Полный путьв сетевом графике- это любаянепрерывнаяпоследовательностьвзаимосвязанныхсобытий и работ,ведущая отсобытия исходного(начальногособытия всегосетевого графика)I к завершающему(последнемусобытию сетевогографика) C. Кромеполных путейL (I - C) следуетразличать:
путь от исходногособытия доданного промежуточногособытия L (I - i);
путь, соединяющийданное промежуточноесобытие сзавершающим,L (i - C);
путь междудвумя событиями,из которых ниодно не является,ни исходным,ни завершающим.
Сетевойграфик длякомплексаработ по проектированиюи изготовлениюстенда.
Рис 5.3
Среди этихпутей особоезначение имееткритическийпуть - последовательностьработ от исходногодо завершающегособытия, требующаянаибольшеговремени длясвоего выполненияtmax [L(I- C)]. Такимобразом, продолжительностьработ, лежащихна критическомпути, определяетобщий циклзавершениявсего комплексаработ, планируемыхпри помощисетевого графика.
Сетевое планированиеи управлениепроводитсяв следующейпримернойочередности.Разработкиисходногоплана:
расчленениекомплексаработ на отдельныеэтапы или группыработ, закрепляемоеза ответственнымиисполнителями;
выявление иописание каждымответственнымисполнителемвсех событийи работ, необходимыхдля выполненияпоставленнойперед ним конечнойцели; построение("сшивание")первичнойсети, частныхи свободнойсетей;
определениевремени выполнениякаждой работыв сети на основесистемы оценок;
расчеты параметровсетевого графика;
анализ сетевогографика и егооптимизация.
Расчленениекомплексаработ по созданиюсистемы проводитсяруководителемголовной организацииили техническимруководителемпроекта. Применяютсядва способарасчленениякомплексаработ: путемразработкиукрупненнойсети или построениемсхемы уровнейруководства- иерархическойструктуры.
В первом случаесистема подразделяетсяна крупныеэлементы,соответствующиеотдельныммашинам, агрегатамили этапамработ, для чегостроится укрупненныйсетевой график.Затем каждаямашина, агрегат,этап делятсяна узлы, подэтапыи т.п. и на каждыйих них такжесоставляетсясетевой график.
Во втором случаесоздаваемаясистема делитсяна составныеэлементы припомощи построенияее иерархическойструктуры(рис.5.4). Проектированиеграфиков накаждом уровнеруководствапоручаетсяруководителям,а на самом низшем- ответственнымисполнителям.
В относительнонесложномслучае, например,при планированииподготовкипроизводствакакого-либонового изделия,соответствующимиуровнями могутбыть:
1-й (высший) уровень- управлениевсей техническойподготовкойпроизводства;
2-й уровень -конструкторская,технологическая,материальнаяподготовка;
3-й уровень - стадииконструкторской,технологическойи материальнойподготовкипроизводства;
4-й уровень -отдельныекомплексыработ по каждойстадии подготовкипроизводства.
Схемаиерархическаяструктурыруководствасозданиемновой техники
Рис 5.4
Создание жесложного изделияили комплексаможет потребоватьзначительнобольшего числауровней руководства.
Первичныесети, строящиесяна уровнеответственныхисполнителей,детализируютсядо такой степени,чтобы в нихбыли отраженывся совокупностьработ и всевзаимосвязисобытий и работ.Подобная детализацияне являетсянеобходимойпри "сшивании"частных сетей,каждая из которыхобъединяетпервичныесети, составленныев данной организацииили на данномпредприятии.Первичныесети, являющиесяэлементамитакой частнойсети, могутбыть в нейукреплены.Отдельныепути, состоящиеиз целого рядавзаимосвязанныхработ и событийпервичнойсети, могутбыть показаныв виде однойработы. Например,вся первичнаясеть по проектированиюи изготовлениюстенда (см. рис.5.3) может бытьпредставленав виде однойработы: "Проектированиеи изготовлениестенда" с двумясобытиями"Принято решениео созданиистенда" и "Стендготов и отлажен".
От первичныхсетей в частнойсети всегдадолжны сохранятьсятак называемыеграничныесобытия, т.е.события, принадлежащиедвум или большемуколичествупервичныхсетей, и граничныеработы, т.е. работы,у которыхпредшествующееили последующеесобытие являетсяграничным.
Аналогичностроится исводная сеть,т.е. сеть, объединяющаявесь комплексработ, в которомзанят рядорганизацийи предприятий.В одной своднойсети первичныеи частичныесети еще болееукрупняются,однако и в нейобязательнопоказать граничныесобытия частныхсетей.
Как в частных,так и в свободныхсетях желательноболее подробнопоказыватьсобытия и работы,относящиесяк критическомупути.
Прежде всего,необходимовыявить, какимисобытиямибудет характеризоватьсяданный комплексработ, порученныйответственномуисполнителю.Каждое событиедолжно характеризоватьзаконченностьпредшествующихдействий, например,"Завершеноиспытаниеопытных образцов"или "Проведенообучениеобслуживающегоперсонала"и т.д.
Все событияи работы, входящиев комплексработ, рекомендуетсясвести в таблицув порядке ихпоследовательности.Во избежаниенеправильнойоценки в дальнейшемобщей продолжительностиразработкипроекта необходимотщательнопроверить этотперечень. Например,для сети из 14событий, входящихв процесс созданияАПП ГОЭС, переченьможет бытьпринят следующим(табл. 5.1).
Каждый ответственныйисполнитель,используясоставленныйим переченьсобытий и работ,"сшивает" своюпервичнуюсеть. Построениесети можноначинать какот завершающегособытия, постепенноприближаяськ исходному,так и наоборот- от исходногособытия кзавершающему;в левом концеее следуетрасполагатьисходной (нулевое)событие, а вправом - завершающее(см. рис. 5.3).
При проверкесозданной сетииз нее необходимоисключать:
"тупиковыесобытия", т.е.те, от которыхне начинаетсяни одна работа(естественно,за исключениемзавершающегособытия);
события, которымне предшествуетни одна работа(за исключениемисходногособытия);
замкнутыеконтуры (направлениестрелок, отображающихпоследовательностьвыполняемыхработ, образуетзамкнутоекольцо);
одинаковыекоды для параллельныхработ междудвумя событиями.
После составленияи проверкипервичныхсетевых графиков,разрабатываемыхкаждым ответственнымисполнителемдля своей группыработ, переходятк сшиваниючастных и свободногосетевых графиков,т.е. к объединениювсех первичныхсетевых графиковв общую своднуюсеть, завершающеесобытие которойсоответствуетконечной целиразработки.
Таблица5.1
Переченьсобытий, входящихв процесс созданияАПП ГОЭС
Порядковыйномер события | Событие | Кодыработ | Работа |
0 | Решениео созданииАПП ГОЭС принято | 0,1 | Разработкаархитектурысистемы |
1 | АрхитектураАПП ГОЭС разработана | 1,2 | Разработкабиблиотекифункций дляработы с пользователем |
1,3 | Разработкабиблиотекифункций дляобслуживанияработы оператораАПП ГОЭС | ||
1,8 | РазработкасостыковкиАПП-РК с IBM PC ипрограмм связи | ||
1,4 | Разработкапрограммсостыковкис ЕС ЭВМ | ||
2 | БиблиотекаDTM-PRO создана | 2,6 | Созданиеэкранных формдля принятияоплат |
2,5 | Созданиепрограммыпроектныхрешений | ||
2,7 | СозданиеинтерфейсаоператораАК и РК | ||
3 | Системнаябиблиотекасоздана | 3,6 | Созданиепроцедурпринятия оплат |
4 | Комплекспрограмм связис ЕС ЭВМ создан | 4,10 | ПолучениеБД необходимыхдля нормальногофункционированиясистемы |
5 | БиблиотекаDPPRJ58 создана | 5,11 | Созданиесистемы менюи защиты АППГОЭС |
6 | Комплексприема оплатсоздан | 6,9 | Разработкапрограммпросмотрареестров ГОЭС |
7 | Комплекспрограммнастройкисистемы создан | 7,10 | Внедрениекомплексав систему |
8 | АПП-РКподключенк IBM PC | 8,7 | Созданиепрограммнастройкисистемы наработу с АПП-РК |
8,6 | СозданиепрограммыоператораАК и РК |
продолжениетабл. 5.1
Порядковыйномер события | Событие | Кодыработ | Работа |
9 | Комплекспрограммпросмотрареестров создан | 9,10 | Состыковкакомплексас другимипрограммами |
10 | Комплеспрограммадминистрированиясоздан | 10,11 | Объединениесозданныхпрограмм вединую систему |
11 | Всесозданныекомплексыобъединеныв единую систему | 11,12 | Тестированиесистемы вреальныхусловиях работы |
11,13 | Написаниедокументациипо созданнойсистеме | ||
12 | Тестированиесистемы закончено | 12,14 | Внедрениесистемы впроизводство |
13 | Написаниедокументациизакончено | 13,14 | Обучениеперсоналапо готовойдокументации |
14 | АППГОЭС создани внедрен |
Практика примененияСПУ показывает,что при наличиив системе до300 событий всерасчеты посети могутбыть проведенывручную илипри помощисчетно-клавишныхмашин. Большеечисло событийвызываетнеобходимостьпримененияЭВМ и использованияспециальныхпрограмм.
Для планированиядлительностиработ необходимопользоватьсясоответствующиминормативамии обобщеннымиопытными данными.При их отсутствиииспользуюттри оценкивремени, даваемыеответственнымиисполнителямипо каждой работе:минимальное,максимальное,наиболее вероятноевремя - или две:минимальноеи максимальноевремя. Эти оценкиобычно выражаютсяв днях или неделях.
Если от ответственногоисполнителяработы затребоватьтолько однуоценку времениtн.в., то возникаетопасность, чтоона может оказатьсянереальной,а это нарушитвесь графикработы по проекту,особенно, еслиданная работабудет лимитироватьсрок разработкив целом.
Минимальноевремя tmin - минимальновозможноевремя выполненияданной работы.Вероятностьвыполненияработы за такоевремя невелика.Максимальноевремя tmax - этомаксимальноевремя выполненияданной работыпри крайнейнеудачномстеченииобстоятельств,например, привозможностиразрушенияиспытываемогоизделия, выявлениянеправильностипути, выбранногодля исследования,и т.д. Наконец,наиболее вероятноевремя tн.в. -возможноевремя выполненияданной работыпри условии,что не возникнетникаких особыхи неожиданныхтрудностей.
Наиболее вероятнаяоценка времениtн.в. не можетбыть принятав качествевеличины ожидаемоговремени выполнениякаждой работыtож, так какв большинствеслучаев наиболеевероятноевремя оцениваетсяответственнымисполнителемпо-разному: водних случаях- ближе к минимальному,в других - ксреднему, т.е.,как правило,не будет совпадатьс ожидаемым.Поэтому дляопределенияожидаемоговремени выполнениякаждой работыполученныеоценки подвергаютстатистическойобработке,допустив, чтовероятностипродолжительностивыполнениялюбой работыраспределяютсяв соответствиис законом бетараспределения.Тогда:
Среднее квадратическоеотклонениепринимаетсяравным 1/6 размаха,т.е.
Квадрат stожназываетсядисперсиейи служит меройразброса ожидаемоговремени:
Исследованиясоветскихматематиковпоказали, чторасчет с ошибкой,не превышающей1%, может производитьсяи по двум оценкамвремени tmin иtmax. Предложенныеими уравненияимеют следующийвид:
Решение двухуравнений длякаждой работыдает необходимыезначения ожидаемоговремени и егодисперсию,нужную дляоценки вероятностисвершениясобытий в заданныйсрок.
Найденныезначения tожзаносят в таблицуи на сети надкаждой работойпроставляютоценки времени(см. рис. 5.3).
Применяемыйв обоих случаях(при двух илитрех оценках)метод усредненияпродолжительностиработ, полученныхна основаниивероятностныхоценок, позволяетвероятностнуюсеть рассматриватькак детерминированную.
Автоматизированныйпереговорныйпункт городскогоотделенияэлектросвязипредставляетсобой аппаратно-программныйкомплекс, которыйвключает всебя техническиеи программныесредства,позволяющиеавтоматизироватьряд действийперсоналагородскогоотделенияэлектросвязиили районногоузла связи вчастности:
управлениеавтоматическимикабинамимеждугороднойтелефоннойсвязи;
управлениеприемом иобслуживаниемразговоровпри коммутацииручных междугородныхразговоров;
прием и передачателеграфныхсообщений;
"перенос наплечи" пользователяинформированияо кодах городовдальнего иближнего зарубежья,городов и районовУкраины дляавтоматическойтелефоннойсвязи, об услугахэлектросвязи,предоставленныхв кредит, о перечнеподписныхизданий, овозможностиподачи разногорода объявлений;
выполнениеуслуг по рекламес помощьюинформационнойсистемы, входящейв состав АППГОЭС (РУЭС)
автоматизацияпроцессовпередачителефаксов;
автоматизацияпроцесса полученияоплат за услугипочтовой иэлектрическойсвязи;
автоматизированноеформированиеразличныхреестров идневника работыАПП ГОЭС (РУЭС)с накоплениеминформациипо различнымпериодам;
загрузку ивыгрузку информацииоб услугах,представленныхв кредит, рассчитанныхцентрализованно;
ведение справочникасотрудниковАПП ГОЭС (РУЭС)с обеспечениемпарольнойзащиты и уровнядоступа к системеразличныхкатегорийоператоров;
настройкапараметровна конкретныеусловия примененияАПП ГОЭС (РУЭС).
Основная зарплатана 1 человеказа 1 месяц $.
Основная зарплатана 5 человекза 2 месяцев$.
Дополнительнаязарплата $*13%=$.
Сумма отчисленийот зарплаты*52%=$.
Материалы иоборудование500.00$.
Накладныерасходы *300%=$.
Прибыль (+++)*25% =*0.25%=$.
Налог на добавочнуюстоимость*20%=$.
Расчет затратприведен втабл. 5.2.
Таблица5.2
Расчетзатрат
Затраты | Сумма,$ | Удельныйвес к ИТОГУ,% |
Основнаязарплата | ||
Дополнительнаязарплата | . | |
Суммаотчисленийот зарплаты | . | |
Материалыи оборудование | ||
Накладныерасходы | ||
Прибыль | ||
НДС | ||
ИТОГО($) |
ИТОГО (крб.)$*200'000= крб.
Расчет эксплуатационныхрасходов довнедрения АППГОЭС приведенв табл. 5.3
Таблица5.3
Затратыдо внедренияАПП ГОЭС прикол-ве квитанций150000 шт. в месяц
Расчитываемыйпараметр | Кол-во | Расчет |
Размерквитанции,м2 | 0.021 | |
Площадьрасходуемойбумаги в м2в месяц. | 3150 | 0.021*150000 |
Цена 1м2бумаги, крб. | 30158 | |
Расходына бумагу вмесяц, крб. | 94'997'700 | 3150*30158 |
Стоимостьразноски 1квитанции,крб. | 5000 | |
Расходына разноскеквитанций вмесяц, крб. | 750'000'000 | 5000*150000 |
Скоростьпечати принтеране менее квит/мин | 50 | |
Мощностьпринтера кВт | 0.6 | |
Стоимость1кВт*ч, крб. | 5500 | |
Расходына электроэнергию,потребляемуюпринтером вмесяц, крб. | (0.6*5500)* ((150000/50)/60) | |
Стоимостьпринтера, крб. | 140'000'000 | |
Амортизационныерасходы (11% отстоимостипринтера вгод*1/12) в месяц. | 140000000*0.11/12 | |
Итогов месяц, крб. | 846'446'033 | |
Итогов год (12 месяцев),крб. | 10'157'352'396 |
Идовнед=10'157'352'396крб.
Расчет стоимостиКТС на одноотделениясвязи приведенв табл. 5.4.
Таблица5.4
Расчетстоимости КТСна одно отделениесвязи.
Наименование | Кол-во,шт. | Цена зашт., $ | Сумма,$ | |
Рабочаястанция IBM PC/AT386 | 1 | 700 | 700 | |
ТерминалКРОН-180 | 2 | 200 | 400 | |
ПринтерPanasonic KX-130 | 2 | 100 | 200 | |
АПП-РК | 1 | 500 | 500 | |
Информационнаястанция | 1 | 200 | 200 | |
Итого | 2'000 | |||
Итогов крб | 400'000'000 | |||
Расчет затратпосле внедренияАПП ГОЭС в табл.5.4.
Таблица5.5
Затратыпосле внедренияАПП ГОЭС
Расчитываемыйпараметр | Кол-во | Расчет |
Количествоотделенийсвязи, шт | 26 | |
МощностьКТС одногоотделениясвязи, кВт*ч | 0.3 | |
Времяработы одногоотделениясвязи в месяц(14 часов * 365.25 дня),ч | ||
Стоимость1кВт*ч, крб | 5'500 | |
Стоимостьэлектричествана все отделениясвязи, крб | 219'390'600 | 26*0.3*420*5500 |
Амортизационныерасходы навсе отделениясвязи (11% отстоимостиоборудованияв год), крб | 400000000*0.11*26 | |
Текущийремонт (3% отстоимостиоборудованияв год), крб | 400000000*0.3*26 | |
Прочиерасходы (3% отстоимостиоборудованияв год), крб | 400000000*0.3*26 | |
Общиезатраты в год,крб | 1'987'390'600 | |
Расчет капитальныхвложений приведенв табл. 5.6
Таблица5.6
Капитальныевложения наАПП ГОЭС.
Наименование | стоимость крб |
СтоимостьКТС на 26 отделенийсвязи(КТС наотделенияхсвязи используютсятолько дляработы с даннойсистемой) | 10'400'000'000 |
СтоимостьразработкиПО | 1'282'224'000 |
Итого | 11'682'224'000 |
Определениеэкономическойэффективности
Э =Идовнед— Ипосле —Sрп/(n*Тс)=10'157'352'396-1'987'390'600- =
ТОК = К/Э =11'682'224'000/=
Годовая экономияот внедренияАПП ГОЭС позволяетокупить затратына разработкукомплекса втечении 1.5 года.Таким образомуже через полторагода комплексначнет приноситьдоход около8 млрд. в год.
Охрана труда- это системаправовых,социально-экономических,организационно-технических,санитарно-гигиеническихи лечебно-профилактическихмероприятийи средств,направленныхна сохранениездоровья иработоспособностичеловека впроцессе труда.
Государственнаяполитика вобласти охранытруда базируетсяна принципах:
приоритетажизни и здоровьяработниковпо отношениюк результатампроизводственнойдеятельностипредприятий,полной ответственностисобственниказа созданиебезопасныхи безвредныхусловий труда;
комплексногорешения задачохраны трудана основенациональныхпрограмм поэтим вопросамс учетом другихнаправленийэкономическойи социальнойполитики,достиженийв области наукии техники иохраны окружающейсреды;
социальнойзащиты работников,полного возмещенияущерба лицам,потерпевшимот несчастныхслучаев напроизводствеи профессиональныхзаболеваний;
установленияединых нормативовпо охране трудадля всех предприятий,независимоот форм собственностии видов ихдеятельности,использованиеэкономическихметодов управленияохраной труда,проведенияполитики льготногоналогообложения,что способствуетсозданию безопасныхи безвредныхусловий труда,участия государствав финансированиимероприятийпо вопросамохраны труда;
обеспечениякоординациидеятельностигосударственныхорганов, учреждений,организацийи объединенийграждан, решающихразличныепроблемы охраныздоровья, гигиеныи безопасноститруда, а такжесотрудничестваи проведенияконсультациймежду собственникамии работниками,между всемисоциальнымигруппами припринятии решенийпо охране трудана местном игосударственномуровнях;
международногосотрудничествав области охранытруда, использованиямирового опытаорганизацииработы по улучшениюусловий и повышениюбезопасноститруда. /1/
Полностьюбезопасныхи безвредныхпроизводствне существует.Задача охранытруда - свестик минимумувероятностьнесчастногослучая илизаболеванияработающегос одновременнымобеспечениемкомфортныхусловий примаксимальнойпроизводительноститруда. /7/
Деятельностьпользователявидеотерминалазаключаетсяв основном внаблюденииза появляющимисясигналами,принятии решенияи использованиипринятых решенийили поступающихкоманд. В рядеслучаев работавыполняетсяв соответствиис жесткималгоритмом,например, вводинформации,часто сопровождающийсяпроявлениеммонотонии.
В других случаяхработа связанас диалогом,включающиминтенсивнуюумственнуюнагрузку, врезультатечего человекпребывает впостояннойготовностик действиям,нередко в условияхдефицита времени.Подобная работачасто сопровождаетсявысокимнервно-эмоциональнымнапряжением,проявлениекоторого накладываетопределенныеограниченияна режим работы.
Можно выделитьтри основныхвида работ, впроцессе выполнениякоторых используютсядисплеи:
ввод и редактированиеданных, характеризующиесявысокой скоростьюввода информации,небольшимиперерывамив работе, низкойпотребностьюв обмене информациейи небольшойчастотой принятиярешений. Работане требуетбольшогоумственногонапряжения,чаще монотонная.
Диалоговыевиды работ -с документами,экраном иклавиатурой,характеризующиесясредней скоростьюввода информации,часто сопровождающиесяперерывамиразличнойдлительности,непостоянной(неритмичной)потребностьюв обмене информациейс ЭВМ, с принятиемрешений.
Отладка программ- работа преимущественнос экраном идокументацией,характеризующиесянизкой скоростьюввода информации,частыми перерывамина обработкуинформациии ожиданиеответных реакцийЭВМ, большойпотребностьюв обмене информациейи высокой частотойпринятия решений.При этом объеминтеллектуальныхусилий, затрачиваемыхна различныхстадиях разработок,зависит отиндивидуальныхособенностей,качества программы.
В зависимостиот вида деятельностипользователяв системе“человек-дисплей"могут преобладатьсенсорно-перцептивная,моторная либоинтеллектуальнаядеятельность(например, уоператоровподготовкиданных преобладаетсенсорно-перцептивнаяи моторнаядеятельность,тогда как уинженеров-программистов- интеллектуальная).
Особенностьюработы за дисплеемявляется постоянноеи значительноенапряжениефункций зрительногоанализатора,обусловленноенеобходимостьюразличениясамосветящихсяобъектов (символов,знаков и т.п.)при наличиибликов на экране,мельканиемизображения,недостаточнойчеткостьюобъектов различения.
Условия трудапользователя,работающегос дисплеем,определяютсяусловиямиосвещения впомещениидисплейногозала и на рабочемместе; параметрамимикроклимата;эргономическимихарактеристикамиосновных элементоврабочего места.
Согласно ст.22 Закона Украины"Об охранетруда" однимиз наиболееважных подразделовколлективногодоговора должныбыть комплексныемероприятияпо достижениюустановленныхнормативовбезопасности,гигиены трудаи производственнойсреды, повышениюсуществующегоуровня охранытруда, предотвращениюслучаев производственноготравматизма,профессиональныхзаболеванийи аварий.
Это системаорганизационныхмероприятийи техническихсредств, предотвращающаяили уменьшающаявоздействиена работающихопасных и вредныхпроизводственныхфакторов.
Опасный производственныйфактор - фактор,воздействиекоторого наработающегов определенныхусловиях приводитк травме илидругому внезапномурезкому ухудшениюздоровья.
Вредный производственныйфактор - фактор,воздействиекоторого наработающегов определенныхусловиях приводитк заболеваниюили снижениюработоспособности./8/
Опасные и вредныепроизводственныефакторы подразделяютсяпо природедействия наследующиегруппы: физические,химические,биологические,психофизиологические./9/
При работедисплея образуетсяряд физическихфакторов, втом числе, такихкак гамма,рентгеновское,микроволновое,радиочастотное,ультрафиолетовое,видимое иинфракрасноеизлучение,уровни которыхзначительнониже предельнодопустимых.Наряду с этимна рабочихместах с функционирующимивидеотерминаламисоздаетсяэлектростатическоеполе междуэкраном иоператором./11/
Автоматизированнаяпрограммно-аппаратнаясистема расчетовза услугимеждугороднойэлектросвязиразработанадля работы сперсональнымиЭВМ класса IBMPC/AT, что обеспечиваетвысокую надежностьв процессеэксплуатацииданной системы.
Система работаетв интерактивномрежиме работы,при которомпользовательвзаимодействуетсо стандартнымиустройствамиввода-вывода,полностьюотвечающимитребованиямбезопасности.
Помещение постепени опасностипораженияэлектрическимтоком относитсяк классу помещенийбез повышеннойопасности.
Материалыконструкцииоборудованияне оказываютопасного ивредного воздействияна организмчеловека вовсех режимахработы, предусмотреннымиусловиямиэксплуатации,а также не создаютпожаро и взрывоопасныеситуации.
Конструкцияоборудованияи его отдельныхчастей исключаетвозможностьих падения,опрокидыванияи произвольногосмещения привсех предусмотренныхусловияхэксплуатации.
Для персоналаотделенийэлектросвязипредставляетопасностьэлектрическийток. Безопасностьэксплуатацииоборудованияобеспечиваетсякомплексоммер безопасности,применениемзащитных средстви правильнойорганизацииэксплуатациидействующихэлектроустановок.
Для обеспечениязащиты от случайногоприкосновенияк токоведущимчастям применяютсяследующиеспособы и средства:
защитные оболочки;
защитныеограждения;
безопасноерасположениетоковедущихчастей;
изоляциятоковедущихчастей (рабочая,дополнительная,усиленная,двойная);
изоляция рабочегоместа;
малое напряжение;
защитноеотключение;
предупредительнаясигнализация,блокировка,знаки безопасности.
Для обеспечениязащиты от пораженияэлектрическимтоком приприкосновениик металлическимнетоковедущимчастям, которыемогут оказатьсяпод напряжениемв результатеповрежденияизоляции применяютследующиеспособы:
защитноезаземление;
зануление;
выравниваниепотенциалов;
защитноеотключение;
изоляциянетоковедущихчастей;
электрическоеразделениесети;
малое напряжение;
контроль изоляциии др. /10/
На рабочихместах операторовустановленырозетки снапряжением220В.
Все оборудованиеподдерживаетсяв рабочем состояниии обслуживаетсяспециалистамицеха техническойэксплуатациимеждугороднойтелефонно-телеграфнойсвязи. В случаевозникновениянеисправностиоборудования,оператор немедленносообщает онеисправностив данное подразделениеМТТС.
Изоляция составныхчастей оборудования,доступных дляприкосновения,полностьюобеспечиваетзащиту человекаот пораженияэлектрическимтоком.
Рабочее местодля выполненияработ сидяорганизуютпри легкойработе, не требующейсвободногопередвиженияработающего.Устройстворабочего местаи взаимноерасположениевсех его элементов(сиденье, органыуправления,средства отображенияинформациии т.д.) соответствуютантропометрическим,физиологическими психологическимтребованиям,а также характеруработы.
Эргономическаяорганизациярабочего места,оснащенногодисплеем, учитываетспецификуконкретногорабочего местаи особенностивыполняемыхпользователямизадач с применениемвидеотерминалаЭВМ.
К основнымэргономическимзадачам организациирабочего местаотносятся:
определениепространственныхпараметроврабочего местаи его элементов,соответствующихантропометрическимхарактеристикамконтингентаработающих;
оптимальноеразмещениеэлементоврабочего местаотносительнопользователяна основе анализаего деятельности.
Основнымипараметрамирабочего места,оснащенногодисплеем, являются20 позиций (табл.6.1). Рабочее местоизображенона рис. 6.1.
Таблица6.1
Пространственныепараметрырабочего места
Условноеобозначениепараметра | Параметр | Способ измерения параметра | Степень необходи-мостирегулирова-ния | Значе- ниепара- метра мм (°) | Примечание |
1 | Высотасиденья | Отпола до верхнейплоскостисиденья | Необходима | 400-500 | Регулируемыйпараметр |
2а | Высотаклавиатуры | Отпола до нижнегоряда клавиатуры | Желательна | 600-750 620-700 | Диапазонрегулировки Длянерегулируемойвысоты |
2б | Тоже (от уровнястола) | Отбазовой поверхностидо нижнегоряда клавиатуры | -”- | Около20 | Принеобходимостиклавиатуруможно встроитьв поверхностьстола |
3 | Уголнаклона клавиатуры | Отгоризонтали | Возможна | (7-15) | Зависитот высотыклавиатуры |
4 | Ширинаосновнойклавиатуры | Определяетсяоптимальнойзоной моторногополя согласноГОСТ 12.2.032-78 | -”- | Неболее 400 | Дополнительныеблоки и клавиши,нечасто используемые,могут бытьразмещены взоне легкойдосягаемостиза пределамиосновнойклавиатуры |
5 | Глубинаосновнойклавиатуры | Тоже | -”- | Неболее 200 | Тоже |
6 | Удаленностьклавиатурыот края стола | Отпереднегокрая столадо нижнего | Возможна | Неменее 80-100 | Принеподвижномкрепленииклавиатуры |
7 | Высотаэкрана | Отпола до нижнегокрая экрана | Желательна | 950-1000 970-1050 | Диапазонрегулировки Приотсутствиирегулировки |
8 | Уголнаклона экрана | Отвертикали | -”- | (0-30=15°)опт | Зависитот высоты экранаотносительноглаз |
Продолжениетабл. 6.1
Услов-ноеобозна-чениепара-метра | Параметр | Способ измерения параметра | Степень необходи-мостирегулирова-ния | Значе- ниепара- метра мм (°) | Примечание |
9 | Удаленностьэкрана от краястола | Отпереднегокрая столадо экрана дисплея | -”- | 500-700 500 | Диапазонрегулировки Приотсутствиирегулировки |
10 | Высотаповерхностидля записи | Отпола | -”- | 670-860 725 | Диапазонрегулировки Приотсутствиирегулировки |
11 | Площадьповерхностидля записи | Определяетсяоптимальнойзоной моторногополя | -”- | 600x400 900x600 | Прямоугольнойформы Треугольнойформы |
12 | Уголнаклона поверхностидля записи | Отгоризонтали | Возможна | (0-10) | Дляпостояннойписьменнойработы Дляпериодическихзаписей |
13а 13б | Глубинапространствадля ног науровне: коленей ступней | Отпереднегокрая стола | -”- | 0 Неменее 400 Неменее 600 | |
14а 14б | Высотапространствадля ног науровне: коленей ступней | Отпола | Возможна | Неменее 600 Неменее 100 | Длянерегулируемойвысоты стола |
15а 15б | Ширинапространствадля ног науровне: коленей ступней | Возможна | Неменее 500 Неменее 250 | Параметрнеобходимпри наличиибоковых тумбили аналогичногооборудования | |
16 | Высотаподставкидля ног | Отпола до переднейчасти подставки | Желательна | 50-130 80 | Регулируемаявеличина Нерегулируемая |
Продолжениетабл. 6.1
Услов-ноеобозна-чениепара-метра | Параметр | Способ измерения параметра | Степень необходи-мостирегулирова-ния | Значе- ниепара- метра мм (°) | Примечание |
17 | Уголнаклона подставкидля ног | Отгоризонтали | -”- | (0-25) (15) | Диапазонрегулировки Нерегулируемаявеличина |
18 | Глубинаподставкидля ног | Отпереднегодо заднегокрая | -”- | 400 | |
19 | Ширинаподставкидля ног | -”- | 300 | ||
20 | Пюпитр-подставкадля документов | Отгоризонтали | -”- | 15°-20° |
Рабочееместо пользователяЭВМ (обозначенияна рис 6.1 соответствуютотмеченнымв табл. 6.1).
Рис 6.1
Расстояниеот глаз пользователядо экрана дисплеясоставляет500-700мм, угол зрения10-20°, ноне более 40°;угол междуверхним краемвидеотерминалаи уровнем глазоператорасоставляетменее 10°.Предпочтительнымявляетсярасположениеэкрана перпендикулярнок линии зренияпользователя.
Конструкциейрабочего местаобеспеченооптимальноеположениеработающего.Руки пользователярасполагаютсяна рабочемстоле в горизонтальномположении илислегка наклонно,угол локтядолжен составлять70-90°. Необходимахорошая опорадля спины иягодиц. Бедрарасполагаютсяпараллельнополу. Ноги стоятплоско на полуили на подставке./13,14,15/
Для обеспеченияудобства вслучаях выполненияинтенсивнойработы предпочтениеотдается отделяемойклавиатуре.Встроенныеклавиатурыболее приемлемыдля компактныхнастольныхдисплеев,предназначенныхдля периодическогопользования.
Рабочие места,оборудованныедисплеями,расположенытаким образом,чтобы в полезрения операторане попадалиокна и осветительныеприборы. Видеотерминалыразмещаютсяпод углом 90-105°к окнам и нарасстояниине менее 2.5-3 м отстены с оконнымипроемами.
В поле зренияоператора,работающегос дисплеем, непопадают поверхностиокружностейсреды, которыеобладают зеркальнымотражением.Соотношениеяркости экранаи ближайшихповерхностейотражения непревышает 5:1.Покрытие столаматовое скоэффициентомотражения0.25-0.4. /12/
Помещения,оснащенныедисплеями,располагаютсяв северной илисеверо-восточнойчасти здания.В случае еслиже помещениеориентированона юг, предусмотренысолнцезащитныеустройства(жалюзи, шторыи т.п.).
Объем производственныхпомещений наодного работающегосоставляетне менее 15м3,а площадь помещений- не менее 4.5м2.Расстояниемежду рабочимиместами, оборудованнымидисплеями, неменее 1м междурядами.
В помещениях,оборудованныхвидеотерминалами,стены окрашеныкрасками пастельныхтонов с коэффициентомотражения40-60%. Окраскеповерхностейпридана матоваяфактура. /12/
В залах вычислительнойтехники и другихпроизводственныхпомещенияхпри выполненииработ операторскоготипа, связанныхс нервно-эмоциональнымнапряжением,соблюдаютсяоптимальныевеличины температурывоздуха 22-24°при его относительнойвлажности40-60% и скоростидвижения воздухане более 0.1м/с./16/
Помещениеоборудованоустановкамикондиционированиявоздуха. Системывентиляциии кондиционированиявоздуха оснащеныустройствамидля виброгашенияи шумопоглощения,обеспечивающимиснижение шумадо допустимыхзначений дляданного видаработ.
Для искусственногоосвещенияпомещений, вкоторых используютдисплеи, применяетсясистема комбинированногоосвещения.Предусмотреноустройстворабочего иэвакуационногоосвещения.
Освещенностьрабочих меств горизонтальнойплоскости науровне 0.8м отпола - не менее400лк. Вертикальнаяосвещенностьв плоскостиэкранов дисплеев- не более 300лк.Коэффициентпульсацииосвещенности- не более 10%. Показательдискомфорта- не более 40. Дляограниченияотраженныхот экрановбликов обеспеченоснижение яркостиизлучателейв угловой зонеболее 55°от вертикалине более 200 кд/м2.
Для искусственногоосвещенияприменяютсялюминесцентныелампы типа ЛБ.Для достаточновысоких помещений(4м и более) вслучае устройстваотраженногоосвещенияпримененыметалло-галогенныелампы мощностименее 250Вт ивысокими индексамицветопередачи.
Для общегоосвещенияиспользованысветильникис люминесцентнымилампами изеркальнымиэкранирующимирешетками иотражателями.Не применяютсядля общегоосвещенияпомещений сиспользованиемдисплеевсветильниковлюбого классасветораспределения,за исключениемсветильниковкласса светораспределенияО и с кривойсилы света внижней полусферетипов Л, Ш, М иС. /17/
Использованасистема переключателей,позволяющихрегулироватьинтенсивностьискусственногоосвещения взависимостиот естественного,а также позволяющихв данный моментвремени освещатьтолько необходимыедля работызоны помещения./12/
При устройствеместного освещенияприменяютсяповорачивающиеся,передвижныелампы на гибкомшланге илипередвижныхшарнирах. Светпадает слева.Рекомендуемаямощность ламп- не менее 50-70Вт.Одно местноеосвещениенедопустимо,так как связанос неизбежнойадаптациейзрения. Необходимоследить зачистотойсветильникови окон. Грязнаяповерхностьэлектрическихламп задерживаетдо 80% света, аслегка покрытоепылью оконноестекло - до 30%света (чистоеоконное стеклопропускаетдо 80% световыхлучей).
Рабочие местапрограммистоввычислительныхмашин не имеютуровни звукаи эквивалентныеуровни звукавыше 50ДбА, а впомещенияхтелефонныхи телеграфныхстанций, в залахобработкиинформациина вычислительныхмашинах - невыше 65ДбА, впомещенияхдля размещенияшумных агрегатоввычислительныхмашин - 75ДбА.Нормированиепараметровсреды проводитсяс учетом видатрудовойдеятельности,учитывая сходствомеханизмовдействия наорганизм человекашума и напряженноститруда. Привыполненииработ по выработкеконцепцийновых программуровни звукане превышают40ДбА; при выполненииоператорскойработы - 65ДбА./18/
Для поддержаниянормированныхзначенийконцентрацииотрицательныхи положительныхтоков предусмотренаискусственнаяионизация. Впомещенияхс дисплеямипроводитсяежедневнаявлажная уборкаи регулярныепроветриванияв течение рабочейсмены. Удалениепыли с экранадисплея производитсяне реже 1 разав смену. В периодысмены, когдаработа невыполняется,дисплей выключен.
Характер трудаза ВДТ приводитк ограниченнойдвигательнойактивности,сопровождающейсямалыми мышечнымиусилиями(гиподинамией).При некоторыхвидах труда(ввод и редактированиеинформации)имеется значительная,но однообразнаяи упрощеннаянагрузка нанебольшиегруппы мышцрук (гипокинезия).Для устранениявредного воздействиягиподинамиии гипокинезиивводятся паузыдля выполнениякомплексаупражнений,направленныхна увеличениезатрат энергиина мышечнуюработу и наустранениеизменений,вызванныхлокальнымхарактероммышечных действий.
Для основныхвидов работ,выполняемыхза видеотерминалом,вводятся официальнопредусмотренныеперерывы. Общиетребованияк перерывам:
они установленыдля предупрежденияутомления;
короткие ичастые, а недлинные и редкие;
перерывы проводятсявне рабочегоместа с видеотерминалом.
Разные видыработ требуютразличногоподхода корганизацииперерывов.Частота ипродолжительность(микропаузыили более длительныеперерывы) перерывовзависит оттипа и интенсивностивыполняемойработы. Дляработ, выполняемыхс большой нагрузкой,рекомендован10-15-минутныйперерыв послекаждого часаработы, а приинтенсивнойи монотоннойработе 10-15 минутчерез каждые2 часа. Количествомикропауз(длительностьюдо 1 минуты)регулируетсяиндивидуально.
Формы и содержаниеперерывовмогут бытьразными: выполнениеальтернативнойвспомогательнойработы, не требующейбольшого напряжения;длительныеперерывы дляприема пищи,с началарегламентированныхперерывов -гимнастикадля глаз, вовремя одногоиз перерывоврекомендуетсяпроведениеобщей гимнастики.
Проведениефизическихупражненийс дозированнойнагрузкой втечение рабочегодня рекомендуетсяиндивидуально,в зависимостиот ощущенияусталости.Гимнастиканаправленана коррекциювынужденнойпозы, улучшениевенозногокровообращения,частичноевосполнениедефицитадвигательнойактивности.Мышечные усилиякомплексаупражненийумеренные,темп средний.После окончаниягимнастикинеобходимпассивныйотдых, длительностьюв 2-3 минуты передработой. Комплексупражненийменяется 1 разв неделю.
Специальныеупражнениядля глаз, способствующиеусилениюкровообращения,сбалансированиютонуса глазныхмышц, профилактикеутомления,выполняютсяв началерегламентированныхперерывов, втечение 2-3 минут,сидя на рабочемместе.
В случае возникновениячрезмерногозрительногонапряжения,сопровождающегосяухудшениемсамочувствия,несмотря нахорошую эргономическуюорганизациюработы и соблюдениережимных моментов,необходиминдивидуальныйподход в ограничениивремени работы,коррекциядлительностиперерывов дляотдыха илисмена деятельностидругой, не связаннойс использованиеЭВМ.
Обеспечениепожарнойбезопасностиявляетсянеотъемлемойчастью государственнойдеятельностипо охране жизнии здоровьялюдей, национальногобогатства иокружающейприроднойСреды.
Собственникпредприятия,учрежденияили организацииобязан:
разработатькомплексныемероприятияпо обеспечениюпожарнойбезопасности;
в соответствиис нормативнымиактами по пожарнойбезопасностиразработатьи утвердитьположения,инструкции,иные нормативныеакты, действующиев пределахпредприятия,учрежденияи организации,осуществлятьпостоянныйконтроль заих выполнением;
обеспечитьсоблюдениепротивопожарныхтребований,норм, правил,а также выполнениетребований,предписанийи постановленийорганов государственногопожарногонадзора;
организоватьобучение работниковправилам пожарнойбезопасностии пропагандумер по их обеспечению;
при отсутствиив нормативныхактах требований,необходимыхдля обеспеченияпожарнойбезопасности,приниматьсоответствующиемеры, согласовываяих с органамигосударственногопожарногонадзора;
содержать висправномсостояниисредствапротивопожарнойзащиты и связи,пожарную технику,оборудованиеи инвентарь,не допускатьих использованиене по назначению;
представитьпо требованиюгосударственнойпожарной охранысведения идокументы осостояниипожарнойбезопасностиобъектов ипроизводимойими продукции;
осуществлятьмеры по внедрениюавтоматическихсредств обнаруженияи тушения пожарови использованиюдля этой целипроизводственнойавтоматики;
своевременноинформироватьпожарную охрануо неисправностипожарной техники,систем противопожарнойзащиты, водоснабжения,а также о закрытиидорог и проездовна своей территории;
проводитьслужебноерасследованиев случае пожаров./19/
Все работникипри приеме наработу ежегоднопо месту работыпроходят инструктажипо вопросампожарнойбезопасности.
Хранилищаинформации,помещения дляхранения машинныхносителейинформацииразмещаютсяв подсобныхотдельныхпомещениях,оснащенныхнегорючимистеллажамии шкафами. Машинныеносители информациихранятся вметаллическихкассетах.
Пол в помещении,где используютсяЭВМ, изготовлениз негорючихматериалов.Звукопоглощающаяоблицовкапотолков истен этих помещенийтакже изготовленаиз негорючихили тяжелогорючих материалов.
Для мытья деталейиспользуютсянегорючиемоющие вещества.Для промываниясменных устройствгорючими веществамивыделены специальныепомещения,оснащенныеприточно-вытяжнойвентиляцией.
В случае необходимостипроведениямелкого ремонтаили техническогообслуживанияЭВМ непосредственнов рабочем помещениии с использованиемгорючих веществразрешаетсяиметь не более0.5 л в таре, котораяне разбиваетсяи плотно закрывается.
В помещениях,в которых находятсяПЭВМ (еслиавтоматическаясистема пожаротушенияне обязательна),имеются переносныеуглекислотныеогнетушителииз расчета 2шт на каждые20 м2 площадипомещения сучетом предельно-допустимойконцентрацииогнетушащеговещества.
Персональныекомпьютерыпосле окончанияработы на нихвыключаютсяиз сети.
Не реже одногораза в кварталпроизводитсячистка от пылиагрегатов,узлов, кабельныхканалов.
Не разрешается:
размещать ЭВМв подвалах;
проводитьработу по ремонтуузлов или блоковЭВМ непосредственнов машинномзале;
хранить постояннов залах ЭВМмашинные носителиинформации,запасные блокии детали;
оставлять безприсмотравключеннуюв сеть электроннуюаппаратуру,которая используетсядля испытанияи контроляЭВМ. /20/
ЗАКЛЮЧЕНИЕ
В результатепроделаннойработы созданпрограммныйпродукт способныйобеспечитьуровень автоматизациидостаточныйдля выполненияосновных функцийпредоставленияуслуг электросвязинаселениюобласти, быстрои корректнообработатьинформацию,что обеспечиваетполученияприбыли запредоставленныеуслуги в полномобъеме.
Созданнаясистема расшириласпектр услугэлектросвязи,предоставляемыхнаселениюобласти, и имеетсущественныепреимущества,основными изкоторых являются:качественноновый методработы операторов,существенноснижающиеуровень ручноготруда; информированиеабонента оразмерах исроках оплатыза услуги;оперативностьи качествоподготовкиданных, исключающееошибки в системерасчетов зауслуги; экономиярасходныхматериалов.
Первая версиясистемы запущенав эксплуатациюв августе 1995 годана двух центральныхотделенияхсвязи. К концу1995 года системауспешно эксплуатироваласьна 19 отделенияхсвязи г. Запорожья.
Списокиспользованныхисточников
1. Руководствосистемногоменеджера поДТ-МАКС. Кембридж.ИнтерСистемы,1994 г.
2. Руководствопрограммистапо ДТ-МАКС.Кембридж.ИнтерСистемы,1994 г.
3. Междугородниетелефонныеправила. Министерствосвязи СССР.“Связь”. 1968 г.
4. Закон Украины"Об охранетруда", ПостановлениеВерховногоСовета Украиныот 14.10.92 г. N 2696-XII
5. Державнийреєстр міжгалузевихі галузевихнормативнихактів про охоронупраці (РеєстрДНАОП). За станомна 01.02.95 р. Затвердженонаказом Державногокомітету Українипо нагляду заохороною працівід 06.02.95 р. N 12, Київ,1995 р.
6. ЗаконодавствоУкраїни проохорону праці.Збірник нормативнихдокументів.Том 1,2,3,4. Київ, 1995 р.
7. В.Ф. Кобевник.Охрана труда.Киев. "Выщашкола" 1990 г.
8. ГОСТ 12.0.002-80 ССБТТермины иопределения.
9. ГОСТ 12.0.003-74* ССБТОпасные и вредныепроизводственныефакторы.
10. ГОСТ 12.1.019-79* ССБТЭлектробезопасность.Общие требованияи номенклатуравидов защиты.
11. Созданиеблагоприятныхусловий трудапользователейЭВМ, работающихс дисплеямина информационно-вычислительныхцентрах. Методическиерекомендации.ОдобреныПостановлениемГоскомтрудаУССР 15.10.86 г. N 134.
12. Временныесанитарныенормы и правиладля работниковвычислительныхцентров, утв.Гл. госуд. сан.врачом СССРот 2.03.88 г. N 4559-88.
13. ГОСТ 12.2.032-78 ССБТ.Рабочее местопри выполненииработ сидя.
14. ГОСТ 12.2.049-80 ССБТ.Оборудованиепроизводственное.Общие эргономическиетребования.
15. ГОСТ 21689-76 "Система"Человек-машина."Кресло человека-оператора.Общие эргономическиетребования."
16. ГОСТ 12.1.005-88 ССБТ.Общие санитарно-гигиеническиетребованияк воздуху рабочейзоны.
17. СНиП 11-4-79. Естественноеи искусственноеосвещение.Нормы проектирования.Изменения,утвержденныеГосстроем СССРот 4.12.1985 г. N 205.
18. ГОСТ 12.1.003-83 ССБТ.Шум. Общиетребованиябезопасности.
19. Закон Украины“О пожарнойбезопасности”от 17.12.93.
20. Правила пожежноїбезпеки України.Затверджені:В.О. головногодержавногоінспектораУкраїни з пожежногонагляду 14.06.95. Київ“ Укрархбудінформ”1995
ПРИЛОЖЕНИЕ1
Спецификациякомпонентовсистемы
Обозначение | Наименование | Примечание |
iap | АРМ АППАК | Интерфейснаясекция работыс операторомавтоматическихкабин |
iapbckg | МониторАПП-РК | Модулькоммуникациис АПП-РК |
iapbckgsub | МониторАПП-РК | Наборпрцедур длямодуля коммуникациис АПП-РК |
iaphand | АРМ АППРК | Интерфейснаясекция работыс операторомручных кабин |
iaphandsub | АРМ АППРК | Наборпрцедур дляинтерфейснойсекции работыс операторомручных кабин |
iaphandinit | АРМ АППРК | Модульинициализациясправочникауслуг для ручныхкабин |
iapmon | Стартермогитора АПП-РК | Модульинициализациии запуска |
ПРИЛОЖЕНИЕ2
Текстпрограммы АРМАПП АК
iap | |
iap | ;IAKoff;04:04 PM 6Mar 1996 |
;ОбслуживаниеАПП-РК | |
n%res,%,%NCAB,%OLDTRAPER,%BEEP,%LON,%LOFF | |
s%BEEP=$c(7)_$c(7)_$c(7)_$c(7)_$c(7)_$c(7)_$c(7)_$c(7) | |
s %=$c(30) s%OLDTRAPER=$ztrap | |
s $ztrap="ERROR^iap" | |
s %LON=0,%LOFF=0 | |
reinit | |
i $$INITAPP()=0 q | |
s %NCAB=$$INITCAB() | |
i %NCAB=0 s%res=$$^dp58msg(12,30,"Ошибкав определениикабин",1) q | |
i %NCAB>16 s%NCAB=16 | |
w /color(7,0) d^dp58box(0,0,24,79,0,$c(177)) | |
w/color(0,7),/c(0,0),$zzr($$DAYNAME^dp58sys()_""_$$FULLDATE^dp58sys(),80) | |
redraw | |
s%res=$$LIST^dp58Sel("^appstat(""CABLIST"",%i)","%i",0,1,78,%NCAB+1,"N",1,"DOUBLE","Опреатор: "_%APPSYS("NOM_OPER")_$c(30)_" N ЗАДАТОК ОСТАТОК ТАРИФ ВРЕМЯ КОД+ТЕЛЕФОНСОСТ."_$c(30)_"F3-Вкл.F4-Откл. F5-Кв. F6-Прткл.F8-Ручн.заказ.ESC-Выход","DrawCab^iap||OutCab^iap","KEYF3,KEYF4,KEYCRASH,KEYF5,KEYF6,KEYF8") | |
i$p(%res,$c(30),2)="KEYCRASH" d CRASH q | |
i$p(%res,$c(30),2)="KEYENTER" | |
i$p(%res,$c(30),2)="KEYF3" s %LON=$$OPENCAB(%LOFF) s%LOFF="" | |
i$p(%res,$c(30),2)="KEYF4" s %LOFF=$$CLOSECAB(%LON) s%LON="" | |
i$p(%res,$c(30),2)="KEYF5" s %LOFF=$$TICKETS(%LOFF) | |
i$p(%res,$c(30),2)="KEYF6" s %LOFF=$$HISTORY(%LOFF) | |
i$p(%res,$c(30),2)="KEYF8" d ^iaphand | |
i$p(%res,$c(30),2)="KEYESC" s ^appstat(1)="F"q | |
g redraw | |
DrawCab | |
n %s,I,P,%CAB | |
i%dpINDEX="DRAWFREE" w $j("",%dpSX) q | |
s %CAB=^appcab(%i) | |
s%s=$p(%CAB,$c(30),1) | |
sI=$s(%s=-1:7,%s=0:14,%s=1:0,%s=2:14,%s=3:14,%s=4:0,1:7) | |
sP=$s(%s=-1:0,%s=0:0,%s=1:15,%s=2:7,%s=3:0,%s=4:15,1:7) | |
w /color(I,P) | |
w " " | |
w$j(^appstat("CABLIST",%i),2)_" " | |
w/color($p(%dpCOLORS,",",7),$p(%dpCOLORS,",",8)) | |
w " ¦ " | |
i %LON=%i w/color(0,15) | |
w$p($zzc($p(%CAB,$c(30),3),18),".",1) | |
w/color($p(%dpCOLORS,",",7),$p(%dpCOLORS,",",8)),"¦ " | |
i %LOFF=%i w/color(0,15) | |
w$p($zzc($p(%CAB,$c(30),4),18),".",1) | |
w/color($p(%dpCOLORS,",",7),$p(%dpCOLORS,",",8)) | |
w " ¦",$p($zzc($p(%CAB,$c(30),6),12),".",1) | |
n %time | |
s%time=$p(%CAB,$c(30),14) | |
i %time=-1 s%time=$p(%CAB,$c(30),13) | |
e d | |
. s%time=$p($h,",",2)-%time | |
. s %s=%time\60 | |
. s%time=$zzj(%s,2)_":"_$zzj(%time#60,2) | |
w "¦",$j(%time,5) | |
w "¦",$j($p(%CAB,$c(30),7)_"-"_$p(%CAB,$c(30),5),11) | |
s%s=$p(%CAB,$c(30),2) | |
w " ¦",$s(%s=0:"к",%s=1:"А",%s=2:"Р") | |
s%s=$p(%CAB,$c(30),15)+0 | |
w$s(%s=0:"..",%s=1:"..",%s=2:"--",1:"/\") | |
q | |
OutCab | |
i(^appstat("STATUS")="A") s%dpKEYCODE="KEYCRASH" | |
s%str=$$TIME^dp58sys() | |
w/c(80-$l(%str),0),/color(0,7),%str | |
i%dpKEYCODE="KEYNOPRESS" s %dpKEYCODE="KEYREDRAW" | |
i%dpKEYCODE="KEYDOWN" s %dpKEYCODE="KEYEND" | |
i %dpKEYCODE="KEYUP"s %dpKEYCODE="KEYHOME" | |
i%dpKEYCODE="KEYPAGEDOWN" s %dpKEYCODE="KEYEND" | |
i%dpKEYCODE="KEYPAGEUP" s %dpKEYCODE="KEYHOME" | |
q | |
;----------------------------------------------------------- | |
INITCAB() | |
n %i,%n | |
s %i="",%n=0 | |
initcab1 | |
s%i=$o(^appstat("CABLIST",%i)) | |
i %i="" q%n | |
s %n=%n+1 | |
g initcab1 | |
;----------------------------------------------------------- | |
INITAPP() | |
n %res,%ws | |
i$$tstjob^iapmon()'="" g initapp3 | |
w /color(14,0) | |
s%res=$$^dp58msg(12,30,"Запускмонитора",0.1) | |
s %res=$$run^iapmon | |
i %res=1 s%res=$$^dp58msg(12,30,"АПП неподключен"_%_"квашей станции."_%_"Опишитев устаноквхна АПП",0) q 0 | |
i %res=2 s%res=$$^dp58msg(12,30,"Не верныйномер устройства."_%_"Опишитев устаноквхна АПП",0) q 0 | |
h 3 | |
initapp2 | |
s %ws=10 | |
initapp1 | |
w /color(14,0) | |
s%res=$$^dp58msg(12,35,"Ожиданиеготовностимонитора:"_%ws,0.1) h 1 | |
i^appstat("STATUS")="A" s%res=$$^dp58msg(12,30,"Неполадки! ! !"_%_"АварияАПП-РК"_%_"СбростеАПП-РК"_%_"ипопытайтесьеще раз.",0) q 0 | |
i^appstat("STATUS")="H" s%res=$$^dp58msg(12,30,"Неполадки! ! !"_%_"СбростеАПП-РК"_%_"ипопытайтесьеще раз.",0) q 0 | |
s %ws=%ws-1 i %ws=0q 0 | |
i^appstat("CMD")'="R" g initapp1 | |
initapp3 | |
i (^appstat(1)'="F")s %res=$$^dp58msg(12,30,"Второйлишний.",1) q 0 | |
s^appstat(1)=%APPSYS("NOM_OPER") | |
s^appstat(1,"NOM_OPER")=%APPSYS("NOM_OPER") | |
s^appstat(1,"NOM_GOES")=%APPSYS("NOM_GOES") | |
s^appstat(1,"NOM_MESS")=%APPSYS("NOM_MESS") | |
s^appstat(1,"NOM_DENN")=%APPSYS("NOM_DENN") | |
s^appstat(1,"NOM_SMEN")=%APPSYS("NOM_SMEN") | |
s^appstat("USD_KURS")=%APPSYS("USD_KURS") | |
q 1 | |
;----------------------------------------------------------- | |
CRASH | |
i $$^dp58msg(8,30,"АВ А Р И Я ! ! !"_%_"Нажмитена задней панелиАПП-РК"_%_"маленькуюбеленькуюкнопочку"_%_"изатем нажмитена клавиатуре | |
s ^appstat(1)="F" | |
q | |
;----------------------------------------------------------- | |
OPENCAB(%cab) | |
n %forma,%res | |
i(^appstat("STATUS")="A")!(^appstat("STATUS")="H")s %res=$$^dp58msg(12,35,"АВАРИЙНАЯСИТУАЦИЯ!"_$c(30)_"ВКЛЮЧАТЬКАБИНЫ НЕЛЬЗЯ.",0)q %cab | |
i $g(%cab)'=""s %forma("CABNUM")=$g(^appstat("CABLIST",%cab)) | |
s %forma("SUMMA")=0 | |
ddrscr^uf58("iap!OPEN") | |
i$$get^uf58("iap!OPEN","%forma")="ESC"q %cab | |
s%cab=$$phys(%forma("CABNUM")) | |
i(^appcab(%cab).2=2) d ^AppOnRk58(%cab,"ON") q %cab | |
dcabon(%cab,%forma("SUMMA")) | |
q %cab | |
OutOPCN() | |
n %res,%cab | |
s%cab=$$phys($p(%ufNEWDATA,$c(30),1)) | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q %ufNEWDATA | |
i$g(^appcab(%cab))="" s %res="Неверныйномер кабины!" g OPCN1 | |
i ^appcab(%cab).1=-1s %res="Кабина наремонте !" g OPCN1 | |
i ^appcab(%cab).1=1s %res="Кабина занята!" g OPCN1 | |
i ^appcab(%cab).1=2s %res="В кабинеостаток !" g OPCN1 | |
q %ufNEWDATA | |
OPCN1 | |
s%res=$$^dp58msg(3,35,%res,0) | |
ddrscr^uf58("iap!OPEN") | |
dredraw^uf58("iap!OPEN","%forma") | |
q "PROBLEM" | |
InOPSM() | |
n %cab | |
s%cab=$$phys($p(%ufNEWDATA,$c(30),1)) | |
i(^appcab(%cab).2=2) q "FIELDOFF" | |
q %ufOLDDATA | |
;----------------------------------------------------------- | |
CLOSECAB(%cab) | |
n %forma,%res | |
i $g(%cab)'=""s %forma("CABNUM")=$g(^appstat("CABLIST",%cab)) | |
ddrscr^uf58("iap!CLOSE") | |
i$$get^uf58("iap!CLOSE","%forma")="ESC"q %cab | |
s%cab=$$phys(%forma("CABNUM")) | |
i(^appcab(%cab).2=2) d ^AppOnRk58(%cab,"OFF") q %cab | |
d caboff(%cab) | |
q %cab | |
OutCLCN() | |
n %res,%cab | |
s%cab=$$phys($p(%ufNEWDATA,$c(30),1)) | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q %ufNEWDATA | |
i$g(^appcab(%cab))="" s %res="Неверныйномер кабины!" g CLCN1 | |
i ^appcab(%cab).1=-1s %res="Кабина наремонте !" g CLCN1 | |
i ^appcab(%cab).1=0s %res="Кабина свободна!" g CLCN1 | |
q %ufNEWDATA | |
CLCN1 | |
s%res=$$^dp58msg(3,35,%res,0) | |
ddrscr^uf58("iap!CLOSE") | |
dredraw^uf58("iap!CLOSE","%forma") | |
q "PROBLEM" | |
;----------------------------------------------------------- | |
phys(%l) | |
n %i | |
s %i="" | |
phys1 | |
s%i=$o(^appstat("CABLIST",%i)) | |
i %i="" q0 | |
i%l=^appstat("CABLIST",%i) q %i | |
g phys1 | |
;----------------------------------------------------------- | |
cabon(%numcab,%zadat) | |
k^appticket(%numcab) | |
n %hl | |
s %hl="1"i %numcab>16 s %hl="2" | |
s %cmd="B"_%numcab_""_%zadat | |
cabon1 | |
i^appstat("CMD")'="R" g cabon1 | |
s^appstat("CMD")="WRQ"_%hl | |
i^appstat("CMD")="WEN"_%hl g cabon3 | |
i^appstat("CMD")="R" g cabon1 | |
cabon3 | |
s^appstat("CMD","COM")=%cmd | |
s^appstat("CMD")="WAC"_%hl | |
q | |
;----------------------------------------------------------- | |
caboff(%numcab) | |
n %hl,%kk | |
s %hl="1"i %numcab>16 s %hl="2" | |
i^appstat("STATUS")="A" g caboff6 | |
s %cmd="O"_%numcab | |
caboff1 | |
i^appstat("CMD")'="R" g caboff1 | |
s^appstat("CMD")="WRQ"_%hl | |
i^appstat("CMD")="WEN"_%hl g caboff3 | |
i^appstat("CMD")="R" g caboff1 | |
caboff3 | |
s^appstat("CMD","COM")=%cmd | |
s^appstat("CMD")="WAC"_%hl | |
caboff4 | |
r *%kk:0.1 i %kk'=-1g caboff5 | |
caboff6 | |
i(^appcab(%numcab).1'=0)&(^appcab(%numcab).1'=2)&(^appcab(%numcab).1'=1)g caboff4 | |
caboff5 | |
q | |
;----------------------------------------------------------- | |
TICKETS(%cab) | |
n%forma,%res,%sel,%sid,%id | |
i $g(%cab)=""s %cab=0 | |
s%forma("CABNUM")=$g(^appstat("CABLIST",%cab)) | |
ddrscr^uf58("iap!TICKET") | |
i$$get^uf58("iap!TICKET","%forma")="ESC"q %cab | |
s%cab=$$phys(%forma("CABNUM")) | |
s %id="" f d s %id=$o(^appticket(%cab,%id)) s:%id'=""%sel(%id)=%id q:%id="" | |
i(^appcab(%cab).2=2) q %cab ; ПЕЧАТЬКВИТАНЦИЙПО РУЧНОЙ КАБИНЕ | |
tickets1 | |
s%res=$$SELECT^dp58Sel("^appticket(%cab,%id)","%id","%sel(%sid)","%sid",10,12,61,9,"",0,"SINGLE","Квитанциипо кабине N"_%cab_$c(30)_"ПРОД. КОД ГОРОД РЕГИОН ТЕЛЕФОН СУММА "_$c(30)_"-ОТМЕТКА | |
i$p(%res,$c(30),2)="KEYESC" q %cab | |
i$p(%res,$c(30),2)="KEYF4" d TICKPRINT q %cab | |
g tickets1 | |
DrawTicket | |
i%dpINDEX="DRAWFREE" w $j("",%dpSX) q | |
w$j($p(^appticket(%cab,%id),$c(30),3),5)_" " | |
w$j($p(^appticket(%cab,%id),$c(30),4),3)_" " | |
w$j($p(^appticket(%cab,%id),$c(30),5),12)_" " | |
w$j($p(^appticket(%cab,%id),$c(30),8),14)_" " | |
w$j($p(^appticket(%cab,%id),$c(30),6),10)_" " | |
w$zzc($p(^appticket(%cab,%id),$c(30),7),12,2) | |
q | |
OutTCCN() | |
n %res,%cab | |
s%cab=$$phys($p(%ufNEWDATA,$c(30),1)) | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q %ufNEWDATA | |
i$g(^appcab(%cab))="" s %res="Неверныйномер кабины!" g TCCN1 | |
i ^appcab(%cab).1=-1s %res="Кабина наремонте !" g TCCN1 | |
i ^appcab(%cab).1=1s %res="Кабина занята!" g TCCN1 | |
i$d(^appticket(%cab))=0 s %res="Нетквитанции!" g TCCN1 | |
i ^appcab(%cab).1=2s %res="В кабинеостаток !" g TCCN1 | |
q %ufNEWDATA | |
TCCN1 | |
s%res=$$^dp58msg(3,35,%res,0) | |
ddrscr^uf58("iap!TICKET") | |
dredraw^uf58("iap!TICKET","%forma") | |
q "PROBLEM" | |
;----------------------------------------------------------- | |
TICKPRINT | |
n %KVIT,%sid | |
s %sid=$o(%sel(""))i %sid="" q | |
tickprn1 | |
i $g(%sel(%sid))=0 gtickprn3 | |
s%KVIT(%sid)= | |
tickprn3 | |
s%sid=$o(%sel(%sid)) i %sid'="" g tickprn1 | |
d PrintKvit^AppSysd | |
q | |
;----------------------------------------------------------- | |
HISTORY(%cab) | ;IAKoff;10:34 PM 26Aug 1995; |
n %ll,%ee,%id | |
i $g(%cab)=""s %cab=0 | |
s%forma("CABNUM")=$g(^appstat("CABLIST",%cab)) | |
ddrscr^uf58("iap!HISTORY") | |
i$$get^uf58("iap!HISTORY","%forma")="ESC"q %cab | |
s%cab=$$phys(%forma("CABNUM")) | |
s %ee="C"_%cab | |
i $d(^appjrn(%ee))=0g ihlp1 | |
s%ll="^appjrn(%ee,%id)" s %id="" s%id=$o(^appjrn(%ee,%id),-1) | |
s%rr=$$LIST^dp58Sel(%ll,"%id",1,10,76,12,"",0,"DOUBLE","Журнал ","DrawHist^iap") | |
ihlp1 | |
q %cab | |
OutHSCN() | |
n %res,%cab | |
s%cab=$$phys($p(%ufNEWDATA,$c(30),1)) | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q %ufNEWDATA | |
i$g(^appcab(%cab))="" s %res="Неверныйномер кабины!" g HSCN1 | |
i ^appcab(%cab).1=-1s %res="Кабина наремонте !" g HSCN1 | |
q %ufNEWDATA | |
HSCN1 | |
s%res=$$^dp58msg(3,35,%res,0) | |
ddrscr^uf58("iap!HISTORY") | |
dredraw^uf58("iap!HISTORY","%forma") | |
q "PROBLEM" | |
DrawHist | |
n %rrr,%time,%date | |
i%dpINDEX="DRAWFREE" w $j("",%dpSX) q | |
s%rrr=^appjrn(%ee,%id,"MSG") | |
s%time=$j($p(^appjrn(%ee,%id,"TIME"),$c(30),1),8) | |
s%date=$j($p(^appjrn(%ee,%id,"TIME"),$c(30),2),5) | |
i $p(%rrr,"",1)="ON" g drwh1 | |
i $p(%rrr,"",1)="OFF" g drwh2 | |
i $p(%rrr,"",1)="BBB" g drwh3 | |
i $p(%rrr,"",1)="EEE" g drwh4 | |
i $p(%rrr,"",1)="AAA" g drwh5 | |
w$zzr(%rrr,61)_%time_" "_%date_" " q | |
drwh1 | |
w $zzr("Вкл."_$p(%rrr," ",2),61)_%time_" "_%date_"" q | |
drwh2 | |
w $zzr("Выкл."_$p(%rrr," ",2),61)_%time_" "_%date_"" q | |
drwh3 | |
w $zzr("Нач.разг. тариф:"_$p(%rrr,"",4)_" тел:"_$p(%rrr,"",6),61)_%time_" "_%date_" " q | |
drwh4 | |
w $zzr("Кон.разг. время:"_$p(%rrr,"",3)_" сумма:"_$p(%rrr,"",5),61)_%time_" "_%date_" " | |
q | |
drwh5 | |
w $zzr("Авар.зав. время:"_$p(%rrr,"",3)_" сумма:"_$p(%rrr,"",5),61)_%time_" "_%date_" " | |
q | |
;----------------------------------------------------------- | |
ERROR | |
s $ztrap=%OLDTRAPER | |
s ^appstat(1)="F" | |
g @$ztrap |
ПРИЛОЖЕНИЕ3
Текстпрограммымонитора АПП-РК
iapbckg | |
iapbckg(%an) | ;IAKoff;03:44 PM 6Mar 1996 |
n%cc,%free,%zone,%cmd,%i,%summ,%tsec,%tmin,%min,%hour,%sec,%cod,%idev | |
n%cabspis,%to,%hl,%SHARE,%noper,%nsmen | |
s%SHARE=$$SHARE^AppSyst() | |
s $zp=$c(30) s$ztrap="errhndr^iapbckgsub" | |
s^appstat("CMD")="WAIT" | |
s^appstat("STATUS")="INIT" | |
o %an u%an:(ixxlate=0:speed=2400:parity="none":stopbits=1) | |
daddjrn^iapbckgsub("APPRK","ЗапускАпп монитор","") | |
w "E*" | |
k ^appzxcab | |
k ^appcab | |
f %i=1:1:32 d | |
. s^appcab(%i)="-1"_$zp_"0"_$zp_"00.00"_$zp_"00.00"_$zp_""_$zp | |
. s^appcab(%i)=^appcab(%i)_"00.00"_$zp_""_$zp_"0"_$zp_"0"_$zp | |
. s^appcab(%i)=^appcab(%i)_"0"_$zp_"0"_$zp_"0"_$zp_"00.00"_$zp | |
. s^appcab(%i)=^appcab(%i)_"-1"_$zp_"0" | |
. w "O"_%i_"*" | |
. f %zone=0:1:20 s^appcab(%i,%zone)="0"_$zp_"0" | |
. f %zone=128:1:148s ^appcab(%i,%zone)="0"_$zp_"0" | |
s %ws=0 | |
freecab | ; получитьсписок кабин |
s %ws=%ws+1 | |
i %ws=20 g thlt | |
s^appstat("STATUS")="CAB OFF" | |
w "I*" | |
s^appstat("STATUS")="LIST" | |
w "S*" | |
s%free=$$gres^iapbckgsub() i %free="HALT" g thlt | |
i %free="TIME"g thlt | |
s %i=1 | |
ncab | |
s %cmd=$p(%free,"",%i+1) | |
s %cc=$e(%cmd,1,2)+0 | |
s %cod=$e(%cmd,3,3) | |
i %cmd=""g lastcab | |
i (%cc>32)!(%cc | |
i(%cod'="A")&(%cod'="P") daddjrn^iapbckgsub("APPRK","InitError Stat",%free)g freecab | |
s %cabspis(%i)=%cc | |
s ^appcab(%cc).1=0 | |
s ^appcab(%cc).2=2 i%cod="A" s ^appcab(%cc).2=1 | |
s %i=%i+1 | |
g ncab | |
lastcab | |
;--------------------------- | |
; Загрузкасистемныхустановок | |
s^appstat("STATUS")="SETUP" | |
w"P"_^appstat("SETUP")_"*" | |
;--------------------------- | |
; Загрузкатарифов поСНГ | |
LoadTarif | |
s^appstat("STATUS")="TARIF" | |
i$d(^appstat("TARIF","AUTO8"))=0 g nosngtarif | |
s %zone=""s %cmd="" | |
nx1tarif | |
s%zone=$o(^appstat("TARIF","AUTO8",%zone)) | |
i %zone=""g ldtarif1 | |
s%sec=$p(^appstat("TARIF","AUTO8",%zone),$c(30),%SHARE+1) | |
i %sec | |
s%cmd=%cmd_$$dec2hex^iapbckgsub(%sec) g nx1tarif | |
ldtarif1 | |
w"L"_$c($l(%cmd))_$c(0)_%cmd_"*" | |
; Загрузкамеждународныхтарифов | |
nosngtarif | |
i$d(^appstat("TARIF","AUTO810"))=0 gnofgrtarif | |
s %zone=""s %cmd="" | |
nx2tarif | |
s%zone=$o(^appstat("TARIF","AUTO810",%zone)) | |
i %zone=""g ldtarif2 | |
s%sec=$p(^appstat("TARIF","AUTO810",%zone),$c(30),%SHARE+1) | |
i %sec | |
s%cmd=%cmd_$$dec2hex^iapbckgsub(%sec) g nx2tarif | |
ldtarif2 | |
w"L"_$c($l(%cmd))_$c(255)_%cmd_"*" | |
nofgrtarif | |
s^appstat("CMD")="R" | |
s %to=0 | |
mainloop | |
i%SHARE'=$$SHARE^AppSyst() s %SHARE=$$SHARE^AppSyst() g LoadTarif | |
s^appstat("STATUS")="GET" | |
s%free=$$gres^iapbckgsub() | |
s^appstat("STATUS")="SEL" | |
i %free="HALT"g thlt | |
i %free="TIME"g inerror | |
i$$instat^iapbckgsub($p(%free," ",1))="B" s%to=0 g talkbeg | |
i$$instat^iapbckgsub($p(%free," ",1))="E" s%to=0 g talkend | |
i$$instat^iapbckgsub($p(%free," ",1))="L" glife | |
daddjrn^iapbckgsub("APPRK","Unknown command",%free) | |
g mainloop | |
life | |
s %to=%to+1 | |
s^appstat("STATUS")="L" | |
s %i=1 | |
lf1 | |
s %cmd=$p(%free,"",%i+1) | |
i %cmd=""g lf3 | |
s%cod=$e(%cmd,3,4)+0 | |
i $d(%cabspis(%i))=0d addjrn^iapbckgsub("APPRK","Unknown Life",%free)g mainloop | |
s %cc=%cabspis(%i) | |
s^appcab(%cc).15=%cod ; номеравтомата | |
i ^appcab(%cc).2=1 glfa | |
; Ручнаякабина | |
i $e(%cmd,1,1)="B"s ^appcab(%cc).1=1 s %to=0 g lf2 | |
i ($e(%cmd,1,1))="F"w "B"_%cc_"*" daddjrn^iapbckgsub("C"_%cc,"ON") | |
; РУЧНЫЕКАБИНЫ ВСЕГДАВКЛЮЧЕНЫ | |
i($e(%cmd,1,1)="F")&(^appcab(%cc).1=0) s^appcab(%cc).1=0 g lf2 | |
i($e(%cmd,1,1)="F")&(^appcab(%cc).1=1) s^appcab(%cc).1=2 g lf2 | |
daddjrn^iapbckgsub("APPRK","US Cab"_%cc,%cmd)g lf2 | |
lfa | ; Автоматическаякабина |
i(^appcab(%cc).1'=0)!($e(%cmd,1,1)'="F") s %to=0 | |
i(^appcab(%cc).1=0)&($e(%cmd,1,1)="B") s^appcab(%cc).1=1 g lf2 | |
i(^appcab(%cc).1=0)&($e(%cmd,1,1)="F") s^appcab(%cc).1=0 g lf2 | |
i(^appcab(%cc).1=1)&($e(%cmd,1,1)="B") s^appcab(%cc).1=1 g lf2 | |
i(^appcab(%cc).1=1)&($e(%cmd,1,1)="F") s^appcab(%cc).1=2 g lf2 | |
i(^appcab(%cc).1=2)&($e(%cmd,1,1)="B") s^appcab(%cc).1=1 g lf2 | |
i(^appcab(%cc).1=2)&($e(%cmd,1,1)="F") s^appcab(%cc).1=2 g lf2 | |
i(^appcab(%cc).1=3)&($e(%cmd,1,1)="B") s^appcab(%cc).1=3 g lf2 | |
i(^appcab(%cc).1=3)&($e(%cmd,1,1)="F") s^appcab(%cc).1=0 g lf2 | |
i(^appcab(%cc).1=4)&($e(%cmd,1,1)="B") s^appcab(%cc).1=1 g lf2 | |
i(^appcab(%cc).1=4)&($e(%cmd,1,1)="F") s^appcab(%cc).1=4 g lf2 | |
i(^appcab(%cc).1=-1)&($e(%cmd,1,1)="B") s^appcab(%cc).1=1 g lf2 | |
i(^appcab(%cc).1=-1)&($e(%cmd,1,1)="F") s^appcab(%cc).1=0 g lf2 | |
daddjrn^iapbckgsub("APPRK","USSCab"_%cc,$p(^appcab(%cc),$zp,1)_%cmd) | |
lf2 | |
s %i=%i+1 | |
g lf1 | |
lf3 | |
i %to>50 gtimeout | |
g mainloop | |
talkbeg | |
s^appstat("STATUS")="TB" | |
s %cc=$j($p(%free,"",2),1,0) | |
i (%cc>32)!(%cc | |
s %i=$j($p(%free,"",5),1,0) | |
s^appcab(%cc).6=$p(%free," ",4) | |
i$p(^appcab(%cc),$c(30),2)=2 g tbegrk | |
s %tsec=$p(%free,"",6) | |
s^appcab(%cc).5=$e(%tsec,4,$l(%tsec)) s^appcab(%cc).7=$e(%tsec,1,3) | |
tbegrk | |
s ^appcab(%cc).1=1 | |
s %tsec=$p($h,",",2) ;---системноевремя в секундах | |
s^appcab(%cc).14=%tsec ; фиксируемвремя началаразговора | |
daddjrn^iapbckgsub("C"_%cc,%free) | |
g mainloop | |
talkend | |
s^appstat("STATUS")="TE" | |
s %cc=$j($p(%free,"",2),1,0) | |
i (%cc>32)!(%cc | |
s ^appcab(%cc).14=-1 | |
i$p(^appcab(%cc),$c(30),2)=1 g acabin | |
s^appcab(%cc).4=$p(%free," ",3) | |
s ^appcab(%cc).1=2 | |
g mainloop | |
acabin | |
s%zone=$j($p(%free," ",6),1,0) | |
s%summ=$zzoo($p(%free," ",4)) | |
s^appcab(%cc).4=$p(^appcab(%cc),$zp,4)-%summ | |
s^appcab(%cc).8=^appcab(%cc).8+1 | |
s^appcab(%cc).9=^appcab(%cc).9+1 | |
s^appcab(%cc).10=^appcab(%cc).10+%summ | |
s^appcab(%cc).11=%summ | |
s^appcab(%cc).12=^appcab(%cc).12+%summ | |
s^appcab(%cc).13=$p(%free," ",3) | |
i ($p(%free,"",5)+0)=0 s ^appcab(%cc).1=0 | |
d AFTERTE | |
s ^appcab(%cc).14=-1 | |
daddjrn^iapbckgsub("C"_%cc,%free) | |
g mainloop | |
;------------------------------------ | |
inerror | |
daddjrn^iapbckgsub("APPRK","АварияАПП-РК.") | |
s %i=1 | |
ie1 | |
i $d(%cabspis(%i))=0g ie2 | |
s %cc=%cabspis(%i) | |
i ^appcab(%cc).1=-1g ie3 | |
i ^appcab(%cc).1=0 gie3 | |
i ^appcab(%cc).1=2 gie3 | |
i ^appcab(%cc).14=-1s ^appcab(%cc).1=2 g ie3 | |
s%tsec=$p($h,",",2)-$p(^appcab(%cc),$zp,14) | |
s %tmin=%tsec\60 s%sec=$tr($j(%tsec#60,2)," ",0) | |
s%min=$e(%tmin#60+100,2,3) | |
s %tmin=%min+1 | |
i$p(^appcab(%cc),$c(30),2)=1 g ieac | |
s^appcab(%cc).4=$j(%min,2)_"."_$j(%sec,2) | |
s ^appcab(%cc).1=0 | |
s ^appcab(%cc).14=-1 | |
dhtalkend^iapbckgsub(%cc) | |
s %i=%i+1 | |
g ie1 | |
ieac | |
s %zone=3 | |
s%summ=$p(^appcab(%cc),$zp,4) | |
i(%tmin*$p(^appcab(%cc),$zp,6))>$p(^appcab(%cc),$zp,4) g aie1 | |
s%summ=$zzoo($p(^appcab(%cc),$zp,6)*%tmin) | |
aie1 | |
s^appcab(%cc).4=$p(^appcab(%cc),$zp,4)-%summ | |
s^appcab(%cc).8=^appcab(%cc).8+1 | |
s^appcab(%cc).9=^appcab(%cc).9+1 | |
s^appcab(%cc).10=^appcab(%cc).10+%summ | |
s^appcab(%cc).11=%summ | |
s^appcab(%cc).12=^appcab(%cc).12+%summ | |
s^appcab(%cc).13=$j(%min,2)_"."_$j(%sec,2) | |
s ^appcab(%cc).1=2 | |
i ^appcab(%cc).4=0 s^appcab(%cc).1=0 | |
daddjrn^iapbckgsub("C"_%cc,"AAA "_%cc_""_$p(^appcab(%cc),$zp,13)_" "_%summ_""_$p(^appcab(%cc),$zp,4)_" UNKNOWN") | |
d AFTERTE | |
s ^appcab(%cc).14=-1 | |
ie3 | |
s %i=%i+1 | |
g ie1 | |
ie2 | |
s^appstat("STATUS")="A" | |
g thlt1 | |
;------------------------------------ | |
timeout | |
daddjrn^iapbckgsub("APPRK","Мониторостановлен.","Timeout") | |
s^appstat("STATUS")="H" | |
;------------------------------------ | |
thlt | |
daddjrn^iapbckgsub("APPRK","Мониторостановлен.","") | |
s^appstat("STATUS")="H" | |
thlt1 | |
c %an | |
k%cc,%free,%zone,%cmd,%i,%summ,%tsec,%tmin,%min,%hour,%sec,%cod,%idev | |
q | |
;---------------------------------- КОНЕЦ | |
AFTERTE | |
s%tsec=$p(^appcab(%cc),$c(30),14) | |
s %tmin=%tsec\60 ;---системноевремя в минутах | |
s%sec=$tr($j(%tsec#60,2)," ",0) ;---кол-восекунд | |
s%min=$e(%tmin#60+100,2,3) ;---кол-воминут | |
s%hour=%tmin\60+23#24+1 ;---кол-вочасов | |
s%hour=$tr($j(%hour,2)," ",0) | |
; заполнениежурнала==================================== | |
i %zone=0 s^appcab(%cc).5=$p(^appcab(%cc),$zp,7)_$p(^appcab(%cc),$zp,5) s^appcab(%cc).7="ГОР" | |
i %zone>127 s^appcab(%cc).7=$e($p(^appcab(%cc),$zp,7),3,3)_$e($p(^appcab(%cc),$zp,5),1,2)s ^appcab(%cc).5=$e($p(^appcab(%cc),$zp,5),3,11) | |
; заполнениеквитанций================================== | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)+1)=$zd_$zp_%hour_":"_%min_$zp_"0"_$zp_"КОД"_$zp_"ГОРОД"_$zp_"ТЕЛЕФОН"_$zp_"0000.00" | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).3=^appcab(%cc).13 | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).4=^appcab(%cc).7 | |
s %cmd="" | |
s%cod=$p(^appcab(%cc),$c(30),7) | |
i %zone>127 gCOUNTRY | |
s%i=$e($p(^appcab(%cc),$c(30),5),1,3) | |
i $e(%cod,1,1)="2"s %i=$e(%cod,2,3) s %cod=^AppSys58("KOD_OBLS") | |
i$d(^app8DCAC(%cod))>0 s %cmd=$p(^app8DCAC(%cod),$c(30),2) | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).8=$e(%cmd,1,14) | |
i$d(^app8DCAC(%cod,$e(%i,1,2)))>0 d | |
. s%cmd=^app8DCAC(%cod,$e(%i,1,2)) | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).5=$e(%cmd,1,12) | |
g cntick | |
COUNTRY | |
s%i=%cod_$p(^appcab(%cc),$c(30),5) | |
s %cmd="" | |
cntry1 | |
i %i="" gcntry2 | |
i$g(^appDCAC(%i))="" s %i=$e(%i,1,$l(%i)-1) g cntry1 | |
s%cmd=$g(^appDCAC(%i)) | |
cntry2 | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).5=$e($p(%cmd,$c(30),2),1,12) | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).8=$e($p(%cmd,$c(30),1),1,14) | |
cntick | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).6=^appcab(%cc).5 | |
s^appticket(%cc,$o(^appticket(%cc,""),-1)).7=^appcab(%cc).11 | |
; заполнениереестра======================================= | |
s%gs=^appstat(1,"NOM_GOES") s %ms=^appstat(1,"NOM_MESS")s %dn=^appstat(1,"NOM_DENN") | |
dinreestr^iapbckgsub(%summ,%zone) | |
s%noper=^appstat(1,"NOM_OPER") | |
s%nsmen=^appstat(1,"NOM_SMEN") | |
i$d(^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"ACAB",%cc))=0s ^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"ACAB",%cc).1=%summ_$zp_1g after1 | |
s^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"ACAB",%cc).1=$p(^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"ACAB",%cc),$zp,1)+%summ | |
s^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"ACAB",%cc).2=$p(^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"ACAB",%cc),$zp,2)+1 | |
after1 | |
i$d(^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"AZONE",%zone))=0s^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"AZONE",%zone).1=%summ_$zp_1g after2 | |
s^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"AZONE",%zone).1=$p(^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"AZONE",%zone),$zp,1)+%summ | |
s^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"AZONE",%zone).2=$p(^ReestrApp(%gs,%ms,%dn,%noper,%nsmen,"AZONE",%zone),$zp,2)+1 | |
after2 | |
q | |
; IAKoff Save, %n,05/06/96 | |
iapbckgsub | |
iapbckgsub | ;IAKoff;09:47 PM 28Feb 1996 |
q | |
instat(%s) | |
n %res | |
i $l(%s)>3 s%res="?" g ins1 | |
i ($l(%s) | |
i($e(%s,1,1)=$e(%s,2,2)) s %res=$e(%s,2,2) g ins1 | |
i ($l(%s) | |
i($e(%s,1,1)=$e(%s,3,3)) s %res=$e(%s,1,1) g ins1 | |
i($e(%s,2,2)=$e(%s,3,3)) s %res=$e(%s,2,2) g ins1 | |
ins2 | |
i "EBSL"[$e(%s,1,1)s %res=$e(%s,1,1) g ins1 | |
i ($l(%s) | |
i "EBSL"[$e(%s,2,2)s %res=$e(%s,2,2) g ins1 | |
i "EBSL"[$e(%s,3,3)s %res=$e(%s,3,3) g ins1 | |
s %res="?" | |
ins1 | |
q %res | |
;------------------------------------ | |
gres() | ; получитьстроку от АПП |
i$$CHECK^dp58ups()="S" q "TIME" | |
n %res,%cc,%cnt | |
s %res="" s%cnt=0 | |
nxtchr | |
r *%cc:1 i %cc'=-1 ggetchr | |
i(^appstat("CMD")'="R")&(^appstat("CMD")'="WAIT")g ghlt | |
s %cnt=%cnt+1 | |
i %cnt=10 w "V*" | |
i %cnt | |
s %res="TIME"g gend | |
getchr | |
i $c(%cc)'="*"s %res=%res_$c(%cc) g nxtchr | |
g gend | |
ghlt | |
i ^appstat("CMD")="H"s %res="HALT" g gend | |
i$e(^appstat("CMD"),1,3)'="WRQ" g mbewac | |
s^appstat("CMD")="WEN"_$e(^appstat("CMD"),4,4)g nxtchr | |
mbewac | |
i$e(^appstat("CMD"),1,3)'="WAC" g oprcmderr | |
w^appstat("CMD","COM")_"*" | |
s %to=0 | |
daddjrn("OPER","Приход",^appstat("CMD","COM")) | |
s%cc=$e(^appstat("CMD","COM"),2,3)+0 | |
i$e(^appstat("CMD","COM"),1,1)="B" d | |
. d addjrn("C"_%cc,"ON"_$p(^appstat("CMD","COM")," ",2)) | |
. i ^appcab(%cc).2=1 d | |
. . s^appcab(%cc).3=$p(^appstat("CMD","COM"),"",2) | |
. . s^appcab(%cc).4=$p(^appstat("CMD","COM"),"",2) | |
. . s ^appcab(%cc).6=0 | |
. . s^appcab(%cc).7="" | |
. . s ^appcab(%cc).8=0 | |
. . s^appcab(%cc).10=0 | |
. . s^appcab(%cc).11=0 | |
. . s^appcab(%cc).13=0 | |
. . s ^appcab(%cc).1=1 | |
. i ^appcab(%cc).2=2 d | |
. . s ^appcab(%cc).1=1 | |
. . s^appcab(%cc).3=$p(^appstat("CMD","COM"),"",2) | |
. . s^appcab(%cc).4="" | |
. . s ^appcab(%cc).6=0 | |
. . s^appcab(%cc).7="" | |
. . s ^appcab(%cc).8=0 | |
. . s^appcab(%cc).10=0 | |
. . s^appcab(%cc).11=0 | |
. . s^appcab(%cc).13=0 | |
i$e(^appstat("CMD","COM"),1,1)="O" d | |
. daddjrn("C"_%cc,"OFF "_$p(^appcab(%cc),$zp,4)) | |
. s ^appcab(%cc).14=-1 | |
. i ^appcab(%cc).2=1 d | |
. . s ^appcab(%cc).1=3 | |
. . s^appzxcab(%cc)=^appcab(%cc) | |
. i ^appcab(%cc).2=2 d | |
. . i ^appcab(%cc).1=1s ^appcab(%cc).4=0 d ^iaphcabbckg(%cc) | |
. . s ^appcab(%cc).1=0 | |
. . s^appcab(%cc).5="СВОБ" | |
s ^appstat("CMD")="R" | |
w "V*" ;жизненныйтик-так | |
g nxtchr | |
oprcmderr | |
daddjrn("OPER","Unknown command",^appstat("CMD")) | |
g nxtchr | |
gend | |
q %res | |
;----------------------------------- | |
dec2hex(%dec) | ; Конверториз десятичногочисла в 5 байтдля АПП |
n%hex,%kop,%hh,%hl,%lh,%ll,%al | |
s %hh=%dec\16777216 | |
s%hl=(%dec-(%hh*16777216))\65536 | |
s%lh=(%dec-(%hh*16777216)-(%hl*65536))\256 | |
s%ll=(%dec-(%hh*16777216)-(%hl*65536)-(%lh*256))\1 | |
s%al=(%dec-(%dec\1)*100)\1 | |
s%hex=$c(%al,%ll,%lh,%hl,%hh) | |
q %hex | |
;---------------------------------- | |
errhndr | |
n %ei,%iiii | |
s %ei=$zzerr | |
daddjrn("ERROR",$zename($p(%ei,",",1)),$$GetDTQ^AppSys()) | |
d init^%errlog | |
g inerror^iapbckg | |
;---------------------------------- | |
inreestr(%increment,%z) | |
n%mess,%denn,%oper,%smen | |
s%mess=^appstat(1,"NOM_MESS") | |
s%denn=^appstat(1,"NOM_DENN") | |
s%oper=^appstat(1,"NOM_OPER") | |
s%smen=^appstat(1,"NOM_SMEN") | |
; ОБЩИЙ | |
l +^AppSmena | |
s^AppSmena(%mess,%denn,%oper,%smen).6=$p(^AppSmena(%mess,%denn,%oper,%smen),$zp,6)+%increment | |
; ЧИСТОВСЕ ПО АК | |
i %z=0 s^AppSmena(%mess,%denn,%oper,%smen).30=$p(^AppSmena(%mess,%denn,%oper,%smen),$zp,30)+%incrementg inree1 | |
i %z | |
s^AppSmena(%mess,%denn,%oper,%smen).29=$p(^AppSmena(%mess,%denn,%oper,%smen),$zp,29)+%increment | |
inree1 | |
l -^AppSmena | |
q | |
;------------------------------------ | |
addjrn(%ind,%txt,%res) | |
n %id | |
s%id=$o(^appjrn(%ind,""),-1)+1 | |
s^appjrn(%ind,%id,"MSG")=$g(%txt) | |
s^appjrn(%ind,%id,"RES")=$g(%res) | |
s^appjrn(%ind,%id,"TIME")=$$GetDTQ^AppSys | |
k^appjrn(%ind,%id-200) | |
q | |
;---------------------------------- |
ПРИЛОЖЕНИЕ4
Текстпрограммы АРМАПП РК
; IAKoff Save, %n,05/06/96 | |
iaphand | |
iaphand | ;IAKoff;12:49 PM 2Mar 1996 |
n %T,%DEMO | |
s %DEMO="DEMOVERSION FOR DOORS" | |
l +^ReestrIndRK:1 | |
s %T=$TEST | |
i %T=0 l-^ReestrIndRK q | |
d ^iaphandinit | |
dORDERLIST^iaphandsub | |
l -^ReestrIndRK | |
q | |
;----------------------------------------------------------- | |
ADDORDER(%nord) | |
n%f,%addtime,%zone,%tarif,%tarif1,%notify,%key,%ef,%DDDD,%HHHH | |
n %month,%ltarif | |
s %ltarif=0 | |
s %DDDD=$p($h,",",1) | |
s %HHHH=$p($h,",",2) | |
s %f("FAST")=0s %f("TOTAL")=0 s %f("TIME")=3 | |
i $g(%nord)=""g add | |
i$p(^appstat("ORDERS",%nord),$c(30),20)'="" gVIEWORDER | |
dstr2frm^uf58("%f",^appstat("ORDERS",%nord),$c(30),"iap!HORD") | |
s%notify=$p(^appstat("ORDERS",%nord),$c(30),18) | |
s %ef=1 | |
g edd | |
add | |
s %ef=0 | |
s%key=$$^dp58dlg(10,30,15,50,"ОФОРМЛЕНИЕЗАКАЗА","ТЕКУЩИЙ"_%_"УВЕДОМЛЕНИЕ","",2,"","VC")i $p(%key,%,2)="KEYESC" q | |
s%notify=$p(%key,%,1)-1 | |
s%nord=$g(^appstat("LASTORDER"))+1 | |
s%month=$g(^appstat("LASTORDER","MONTH")) | |
i($p($zdate,"/",1)+0)'=%month s %nord=1 s%month=($p($zdate,"/",1)+0) | |
edd | |
ddrscr^uf58($s(%notify=0:"iap!HORD",%notify=1:"iap!NORD")) | |
w/color(7,0),/c(20,3),$j(%nord,3) | |
i$$get^uf58($s(%notify=0:"iap!HORD",%notify=1:"iap!NORD"),"%f")="ESC"q | |
s%f("X")=%addtime,%f("Y")=%tarif,%f("Z")=%zone,%f("ZZ")=%notify | |
s^appstat("ORDERS",%nord)=$$frm2str^uf58("%f",%)_%_$h_%_""_%_%APPSYS("NOM_OPER") | |
s$p(^appstat("ORDERS",%nord),$c(30),25)=%ltarif | |
i %ef=0 s^appstat("LASTORDER")=%nord s^appstat("LASTORDER","MONTH")=%month | |
q | |
;----------------------------------------------------------- | |
VIEWORDER | |
dstr2frm^uf58("%f",^appstat("ORDERS",%nord),$c(30),"iap!HORD") | |
s%notify=$p(^appstat("ORDERS",%nord),$c(30),18) | |
s%tarif1=$p(^appstat("ORDERS",%nord),$c(30),16) | |
s%addtime=$p(^appstat("ORDERS",%nord),$c(30),15) | |
ddrscr^uf58($s(%notify=0:"iap!HORD",%notify=1:"iap!NORD",%notify=2:"iap!FORD")) | |
w/color(7,0),/c(20,3),$j(%nord,3) | |
dredraw^uf58($s(%notify=0:"iap!HORD",%notify=1:"iap!NORD",%notify=2:"iap!FORD"),"%f") | |
w/c(57,5),/color(7,0),$zzc(%tarif1,13) | |
w/color(7,0),/c(38,10),$j(%addtime,3) | |
w/color(7,0),/c(26,3),"ОператорМТТС :"_$j($p(^appstat("ORDERS",%nord),$c(30),24),3) | |
vo1 | |
s %key=$$RKey^uf58()i %key="KEYNOPRESS" g vo1 | |
q | |
;----------------------------------------------------------- | |
OutCOUNTRY() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q %ufNEWDATA | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
i$p(%ufNEWDATA,$c(30),1)="" q"СНГ"_$c(30)_$p(%ufNEWDATA,$c(30),2) | |
i$p(%ufNEWDATA,$c(30),1)="СНГ" q%ufNEWDATA | |
n %id,%res | |
s%id=$p(%ufNEWDATA,$c(30),1) | |
i$d(^appACDC(%id))>0 q %ufNEWDATA | |
s%res=$$LIST^dp58Sel("^appACDC(%id)","%id",20,13,40,8,"",0,"SINGLE","","DrawCOUNTRY^iaphand") | |
i$p(%res,$c(30),2)="KEYESC" q "PROBLEM" | |
q%id_$c(30)_"KEYENTER" | |
DrawCOUNTRY | |
i%dpINDEX="DRAWFREE" w $j("",%dpSX) q | |
w $j(%id,%dpSX) q | |
OutSHTAT() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
n %id,%id1,%res | |
s%id=$p(%ufNEWDATA,$c(30),1) | |
s %id1=%f("COUNTRY")i %id1="СНГ" g OutSHT1 | |
i %id="" gOutSHT0 | |
i$d(^appACDC(%id1,%id))>0 q %ufNEWDATA | |
OutSHT0 | |
s%res=$$LIST^dp58Sel("^appACDC(%id1,%id)","%id",20,13,40,8,"",0,"SINGLE","","DrawCOUNTRY^iaphand") | |
g OutSHT2 | |
OutSHT1 | |
i %id="" gOutSHT3 | |
i$d(^app8ACDC(%id))>0 q %ufNEWDATA | |
OutSHT3 | |
s%res=$$LIST^dp58Sel("^app8ACDC(%id)","%id",20,13,40,8,"",0,"SINGLE","","DrawCOUNTRY^iaphand") | |
OutSHT2 | |
i$p(%res,$c(30),2)="KEYESC" q "PROBLEM" | |
q%id_$c(30)_"KEYENTER" | |
InREGION() | |
s %f("REGION")="" | |
i%f("COUNTRY")'="СНГ" q"FIELDOFF" | |
q %ufOLDDATA | |
OutREGION() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
n %id1,%id,%res | |
s %id1=%f("SHTAT") | |
s%id=$p(%ufNEWDATA,$c(30),1) | |
i %id="" q%ufNEWDATA | |
i$d(^app8ACDC(%id1,%id))>0 q %ufNEWDATA | |
s%res=$$LIST^dp58Sel("^app8ACDC(%id1,%id)","%id",20,13,40,8,"",0,"SINGLE","","DrawCOUNTRY^iaphand") | |
i$p(%res,$c(30),2)="KEYESC" q "PROBLEM" | |
q%id_$c(30)_"KEYENTER" | |
OutTARGET() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
q %ufNEWDATA | |
InCODE() | |
i%f("COUNTRY")'="СНГ" q^appACDC(%f("COUNTRY"),%f("SHTAT")) | |
i(^app8ACDC(%f("SHTAT"))=^AppSys58("KOD_OBLS"))&(%f("REGION")="")q 2 | |
i %f("REGION")=""q ^app8ACDC(%f("SHTAT")) | |
i^app8ACDC(%f("SHTAT"))=^AppSys58("KOD_OBLS")q 2_^app8ACDC(%f("SHTAT"),%f("REGION")) | |
q^app8ACDC(%f("SHTAT"))_^app8ACDC(%f("SHTAT"),%f("REGION")) | |
OutCODE() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
i$l($p(%ufNEWDATA,$c(30),1)) | |
n %code s%code=$e($p(%ufNEWDATA,$c(30),1),1,3) | |
i%f("COUNTRY")="СНГ" goutcod | |
i$g(^appMGTRF(%code))="" s ^appMGTRF(%code)=3 | |
s%zone=^appMGTRF(%code) | |
i$g(^appstat("TARIF","HAND810",%zone))=""s ^appstat("TARIF","HAND810",%zone)=^appstat("TARIF","HAND810",3) | |
s%tarif1=$$NTARIF(^appstat("TARIF","HAND810",%zone)) | |
g outcod1 | |
outcod | |
i $e(%code,1,1)="2"s %code=^AppSys58("KOD_OBLS") | |
i$g(^app8MTRF(%code))="" s ^app8MTRF(%code)=3 | |
s%zone=^app8MTRF(%code) | |
i$g(^appstat("TARIF","HAND8",%zone))=""s ^appstat("TARIF","HAND8",%zone)=^appstat("TARIF","HAND8",3) | |
s%tarif1=$$NTARIF(^appstat("TARIF","HAND8",%zone)) | |
outcod1 | |
w/c(57,5),/color(7,0),$zzc(%tarif1,13) | |
q %ufNEWDATA | |
NTARIF(Str) | |
s%ltarif=$$SHARE^AppSyst(%DDDD,%HHHH) | |
sStr=$p(Str,$c(30),%ltarif+1) | |
i Str | |
q Str | |
q %ufNEWDATA | |
InPH1() | |
i %notify s%f("PH1")="" q "FIELDOFF" | |
q %ufOLDDATA | |
OutPH1() | |
i %notify q$p(%ufNEWDATA,$c(30),1)_%_"KEYENTER" | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
;i$p(%ufNEWDATA,$c(30),1)="" q "PROBLEM" | |
q %ufNEWDATA | |
InDATE() | |
;n %dd s%dd=$$DATE^dp58sys() | |
;i %ufOLDDATA=""q $p(%dd,"/",1)_$p(%dd,"/",2)_$p(%dd,"/",3) | |
q %ufOLDDATA | |
OutDATE() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
i$e($p(%ufNEWDATA,$c(30),1),5,6)="" s$p(%ufNEWDATA,$c(30),1)=$p(%ufNEWDATA,$c(30),1)_"96" | |
n %d s%d=$p(%ufNEWDATA,$c(30),1) | |
s%DDDD=$$DATE2SYS^dp58sys($e(%d,1,2)_"/"_$e(%d,3,4)_"/"_$e(%d,5,6)) | |
q %ufNEWDATA | |
InNTIME() | |
;n %dd s%dd=$$TIME^dp58sys() | |
;i %ufOLDDATA=""q $p(%dd,":",1)_$p(%dd,":",2) | |
q %ufOLDDATA | |
OutNTIME() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
n %t s%t=$p(%ufNEWDATA,$c(30),1) | |
s%HHHH=$$TIME2SYS^dp58sys($e(%t,1,2)_":"_$e(%t,3,4)) | |
i%f("COUNTRY")="СНГ" s%tarif1=$$NTARIF(^appstat("TARIF","HAND8",%zone)) | |
i%f("COUNTRY")'="СНГ" s%tarif1=$$NTARIF(^appstat("TARIF","HAND810",%zone)) | |
w/c(57,5),/color(7,0),$zzc(%tarif1,13) | |
q %ufNEWDATA | |
InADDR() | |
q "" | |
OutADDR() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
q %ufNEWDATA | |
InPH() | |
i %notify s%f(%ufII)="" q "FIELDOFF" | |
i%f("PH"_($e(%ufII,3,3)-1))="" s %f(%ufII)=""q "FIELDOFF" | |
q %ufOLDDATA | |
OutPH() | |
i %notify q""_%_"KEYENTER" | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
q %ufNEWDATA | |
OutCALL() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
i(%notify)&($p(%ufNEWDATA,$c(30),1)="") q "PROBLEM" | |
q %ufNEWDATA | |
OutTIME() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
i($p(%ufNEWDATA,$c(30),1)="")&(%f("PH1")="")g outime2 | |
i($p(%ufNEWDATA,$c(30),1)+0) | |
i($p(%ufNEWDATA,$c(30),1)+0)>255 q "PROBLEM" | |
outime2 | |
s %addtime=0 | |
s%addtime=$p(^SpravUsl(61+%notify),%,4) | |
i %f("CALL")'=""s %addtime=%addtime+$p(^SpravUsl(61+%notify,31),%,4) | |
i %notify g outime1 | |
i %f("PH1")=""s %addtime=%addtime+$p(^SpravUsl(61,32),%,4) g outime1 | |
i %f("PH5")'=""s %addtime=%addtime+$p(^SpravUsl(61,35),%,4) g outime1 | |
i %f("PH4")'=""s %addtime=%addtime+$p(^SpravUsl(61,34),%,4) g outime1 | |
i %f("PH3")'=""s %addtime=%addtime+$p(^SpravUsl(61,33),%,4) g outime1 | |
outime1 | |
w/color(7,0),/c(38,10),$j(%addtime,3) | |
q %ufNEWDATA | |
OutFAST() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
q %ufNEWDATA | |
InTOTAL() | |
n %summ | |
s%tarif=%tarif1*$p(^SpravUsl(61+%notify,10+%f("FAST")),%,4) | |
s%summ=%tarif*(%f("TIME")+%addtime) | |
w/c(57,5),/color(7,0),$zzc(%tarif,13) | |
q $zzoo(%summ) | |
OutTOTAL() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q$p(%ufNEWDATA,$c(30),1)_$c(30)_"KEYUP" | |
i$p(%ufNEWDATA,$c(30),2)'="KEYENTER" q "PROBLEM" | |
q %ufNEWDATA | |
AskPrint() | |
n %Ret | |
askdel | |
s%Ret=$$^dp58dlg(20,42,23,77,"ПОДТВЕРДИТЕПЕЧАТЬ"," Печатать"_%_" Не печатать","",2,"7,0,7,0,0,7,7,0") | |
w /color(0,8) | |
d^dp58box(20,42,23,77,0," ") | |
i$p(%Ret,%,2)="KEYENTER" q (2-%Ret) | |
i$p(%Ret,%,2)="KEYESC" q 0 | |
g askdel | |
; IAKoff Save, %n,05/06/96 | |
iaphandsub | |
iaphandsub | ;IAKoff;02:41 PM 2Mar 1996; |
q | |
SYSH() | q%APPSYS("NOM_OPER")_","_%APPSYS("NOM_SMEN")_","_%APPSYS("NOM_DENN")_","_%APPSYS("NOM_MESS") |
ORDERLIST | |
n %key,%title,%id | |
s %title="NзкОпр"_$zzr("СТРАНА",7)_$zzr("ОБЛАСТЬ",8)_$zzr("РЕГИОН",7)_$zzr("НАС.ПУНКТ",10)_$zzr("ПРИНЯТ",9)_$zzr("ПЕРЕДАН",9)_$zzr("ЖДЕТ",6) | |
ordlist | |
s%key=$$LIST^dp58Sel("^appstat(""ORDERS"",%id)","%id",2,3,65,8,"",0,"SINGLE","Список заказов"_%_$zzr(%title,58)_%_"F2-ПринятьF4-Ред/Смтр F8-Снять | |
i$p(%key,%,2)="KEYESC" q | |
i$p(%key,%,2)="KEYF2" d ADDORDER^iaphand() g ordlist | |
i %id="" gordlist | |
i$p(%key,%,2)="KEYF4" d ADDORDER^iaphand(%id) g ordlist | |
i($p(%key,%,2)="KEYENTER")&($p(^appstat("ORDERS",%id),%,23)'="")d REST(%id) g ordlist | |
i($p(%key,%,2)="KEYENTER")&($p(^appstat("ORDERS",%id),%,20)="")d SENT(%id) g ordlist | |
i$p(%key,%,2)="KEYENTER" d EXECUTE(%id) g ordlist | |
i$p(%key,%,2)="KEYF8" d ABORT(%id) g ordlist | |
g ordlist | |
DrawORDERS | |
i%dpINDEX="DRAWFREE" w $j("",%dpSX) q | |
i %id="" w$zzr(" НЕТ ЗАКАЗОВ",%dpSX) q | |
w $zzr(%id,4) | |
w$zzr($e($p(^appstat("ORDERS",%id),%,21),1,3),4) | |
w$zzr($e($p(^appstat("ORDERS",%id),%,3),1,6),7) | |
w$zzr($e($p(^appstat("ORDERS",%id),%,11),1,7),8) | |
w$zzr($e($p(^appstat("ORDERS",%id),%,10),1,6),7) | |
w$zzr($e($p(^appstat("ORDERS",%id),%,12),1,9),10) | |
i$p(^appstat("ORDERS",%id),%,23)="" g drord3 | |
w"Остаток:"_$zzc($p(^appstat("ORDERS",%id),%,23),17)g drord2 | |
drord3 | |
i$p(^appstat("ORDERS",%id),%,18) g drord1 | |
w$$TIME^dp58sys($p($p(^appstat("ORDERS",%id),%,19),",",2))_" " | |
i$p(^appstat("ORDERS",%id),%,20)="" w "----- " | |
e w$$TIME^dp58sys($p($p(^appstat("ORDERS",%id),%,20),",",2))_" " | |
w$zzr(($p($h,",",2)-$p($p(^appstat("ORDERS",%id),%,19),",",2))\60,3)_"мин" | |
g drord2 | |
drord1 | |
n %d s%d=$p(^appstat("ORDERS",%id),$c(30),5) | |
w$j($e(%d,1,2)_"/"_$e(%d,3,4)_"/"_$e(%d,5,6),9) | |
s%d=$p(^appstat("ORDERS",%id),$c(30),6) w$j($e(%d,1,2)_":"_$e(%d,3,4),9) | |
w $j("",7) | |
drord2 | |
q | |
SENT(%nord) | |
n%key,%msg,%notify,%ord,%reestr,%fff | |
s%ord=^appstat("ORDERS",%nord) | |
s%notify=$p(%ord,%,18) | |
s%msg=%APPSYS("NOM_GOES")_"-му отд.связи"_% | |
i $p(%ord,%,4)=1 s%msg=%msg_"СРОЧНЫЙ"_% | |
s%msg=%msg_$p(%ord,%,3)_% | |
i %notify s%msg=%msg_$p(%ord,%,11)_% | |
i %notify s%msg=%msg_$p(%ord,%,10)_% | |
i %notify s%msg=%msg_$p(%ord,%,12)_% | |
i '%notify s%msg=%msg_"Код:"_$p(%ord,%,2)_% | |
i %notify s%msg=%msg_$tr($p(%ord,%,7)," ",%)_% | |
i %notify s%msg=%msg_"Дата:"_$p(%ord,%,5)_% | |
e s%msg=%msg_"Тел:"_$p(%ord,%,5)_% | |
i %notify s%msg=%msg_"Время:"_$p(%ord,%,6)_% | |
i '%notify f%key=6:1:9 i $p(%ord,%,%key)'="" s %msg=%msg_" или"_$p(%ord,%,%key)_% | |
i $p(%ord,%,1)'=""s %msg=%msg_"Пригласить"_$p(%ord,%,1)_% | |
s%msg=%msg_$p(%ord,%,13)_" минут"_% | |
s%key=$$^dp58dlg(3,20,5+$l(%msg,%),60,%msg,"ПЕРЕДАН"_%_"ОТКАЗ","",2,"","") | |
i$p(%key,$c(30),2)="KEYESC" q | |
i$p(%key,$c(30),1)=2 q | |
s %fff("NOPER")="" | |
ddrscr^uf58("iap!HSENT") | |
i$$get^uf58("iap!HSENT","%fff")="ESC"q | |
s$p(%ord,%,24)=%fff("NOPER") | |
s$p(%ord,%,20)=$p($h,",",2-$p(%ord,%,18)) | |
s$p(%ord,%,28)=$$SYSH | |
s^appstat("ORDERS",%nord)=%ord | |
s%reestr=$$REESTR^iaphandsub("ПРН",%nord,$p(%ord,%,13),,$p(%ord,%,14),,) | |
dAddOplata^AppSys($s($p(%ord,%,3)="СНГ":81,1:881),$p(%ord,%,14),%reestr,"",$$KVITAN(%nord,%ord,0)) | |
d ADDRRR(%reestr) | |
i$$AskPrint^iaphand() d PrintKvit^AppSysd | |
e d NewKvit^AppSysd | |
q | |
InTIME() | |
i($p(^appstat("ORDERS",%id),%,13)+0) | |
i$p(^appstat("ORDERS",%id),%,13)'>3 s %fff("TIME")=3q "FIELDOFF" | |
q$p(^appstat("ORDERS",%id),%,13) | |
OutTIME() | |
i$p(%ufNEWDATA,$c(30),2)="KEYESC" q %ufNEWDATA | |
i($p(%ufNEWDATA,$c(30),1)+0) | |
i($p(%ufNEWDATA,$c(30),1)+0)>$p(^appstat("ORDERS",%id),%,13)q "PROBLEM" | |
q %ufNEWDATA | |
InTEL() | |
n %ntel,%i | |
i$p(^appstat("ORDERS",%id),%,18)=1 s %fff("TEL")=0q "FIELDOFF" | |
s %ntel=0 f %i=5:1:9i $p(^appstat("ORDERS",%id),%,%i)'="" s%ntel=%ntel+1 | |
i %ntel=1 s%fff("TEL")=1 q "FIELDOFF" | |
q %ntel | |
OutTEL() | |
n %ntel,%i | |
s %ntel=0 f %i=5:1:9i $p(^appstat("ORDERS",%id),%,%i)'="" s%ntel=%ntel+1 | |
i %ntel=0 q%ufNEWDATA | |
i($p(%ufNEWDATA,$c(30),1)+0) | |
i($p(%ufNEWDATA,$c(30),1)+0)>%ntel q "PROBLEM" | |
q %ufNEWDATA | |
EXECUTE(%nord) | |
n%fff,%reestr,%tsumm,%ord,%ntel,%i,%key | |
s %ntel=0 | |
i$p(^appstat("ORDERS",%nord),%,18) g exec2 | |
f %i=5:1:9 i$p(^appstat("ORDERS",%id),%,%i)'="" s%ntel=%ntel+1 | |
exec2 | |
s%ord=^appstat("ORDERS",%nord) | |
s%fff("TIME")=$p(%ord,%,13) | |
ddrscr^uf58("iap!HEXEC") | |
i$$get^uf58("iap!HEXEC","%fff")="ESC"q | |
s%fff("NOPER")=$p(%ord,%,24) | |
ddrscr^uf58("iap!HSTOL") | |
i$$get^uf58("iap!HSTOL","%fff")="ESC"q | |
s$p(%ord,%,24)=%fff("NOPER") | |
s%key=$$^dp58dlg(7,20,11,60,"Подтвердитевыполнение","ВЫПОЛНИТЬ"_%_"ОТМЕНА","",2,"","") | |
i$p(%key,$c(30),2)="KEYESC" g exec2 | |
i$p(%key,$c(30),1)=2 q | |
s$p(%ord,%,22)=%fff("TIME") | |
i %ntel=0 s$p(%ord,%,27)=%fff("TEL") g exec1 | |
s %i=0 i %ntel>2s %i=$p(^SpravUsl(61,30+%ntel),%,4) | |
s$p(%ord,%,15)=$p(%ord,%,15)-%i | |
s %i=0 i%fff("TEL")>2 s%i=$p(^SpravUsl(61,30+%fff("TEL")),%,4) | |
s$p(%ord,%,15)=$p(%ord,%,15)+%i | |
s$p(%ord,%,27)=%fff("TEL") | |
exec1 | |
s%tsumm=$zzoo((%fff("TIME")+$p(%ord,%,15))*$p(%ord,%,16)) | |
s%rest=$p(%ord,%,14)-%tsumm | |
s$p(%ord,%,23)=%rest | |
i %rest=0 s %key=1 gexec11 | |
s%key=$$^dp58dlg(3,20,7,60,"Неужеликлиент явилсяза остатком?","ЯВИЛСЯ"_%_"НЕЯВИЛСЯ","",2,"","") | |
i$p(%key,$c(30),2)="KEYESC" g exec2 | |
exec11 | |
s^appstat("ORDERS",%nord)=%ord | |
s%reestr=$$REESTR("ВЫП",%nord,$p(%ord,%,13),$p(%ord,%,22),,%tsumm,) | |
;dAddOplata^AppSys($s($p(%ord,%,3)="СНГ":82,1:882),%tsumm,%reestr) | |
dAddOplata^AppSys($s($p(%ord,%,3)="СНГ":82,1:882),0,%reestr) | |
d ADDRRR(%reestr) | |
i$p(%key,$c(30),1)=1 g exec4 | |
s%reestr=$$REESTR("НЕВ",%nord,$p(%ord,%,13),$p(%ord,%,22),,,%rest) | |
dAddOplata^AppSys($s($p(%ord,%,3)="СНГ":84,1:884),0,%reestr,"","Заказ"_%nord) | |
d ADDRRR(%reestr) | |
g exec3 | |
exec4 | |
s%reestr=$$REESTR("ОСТ",%nord,$p(%ord,%,13),$p(%ord,%,22),,,%rest) | |
s%i=$s($p(%ord,%,3)="СНГ":85,1:885) | |
s%i=%i+($$SYSH=$p(%ord,%,28)) | |
dAddOplata^AppSys(81,$p(%ord,%,14),"","",$$KVITAN(%nord,%ord,1),"p") | |
dAddOplata^AppSys(%i,-%rest,%reestr) | |
d ADDRRR(%reestr) | |
i %rest>0 s%key=$$^dp58msg(3,20,"Барышня,"_%_"вернитепожалустаклиентуостаток"_%_$zzc(%rest),0) | |
k^appstat("ORDERS",%nord) | |
i$$AskPrint^iaphand() d PrintKvit^AppSysd | |
e d NewKvit^AppSysd | |
exec3 | |
q | |
ABORT(%nord) | |
n%ord,%notify,%tarif,%key,%id,%tsumm,%rest,%reestr,%ttime,%fff | |
s%ord=^appstat("ORDERS",%nord) s %notify=$p(%ord,%,18) | |
i $p(%ord,%,20)=""s %key=$$^dp58msg(3,20,"Девушкас двумя веслами,"_%_"нельзяснимать заказ"_%_"есливы его еще непедерали",0)q | |
s%tarif=$p(%ord,%,16) | |
abr2 | |
s %id="" | |
s%key=$$LIST^dp58Sel("^SpravUsl(61+%notify,51,%id)","%id",60,3,10,11,"",0,"SINGLE","Причина","DrawREASON^iaphandsub") | |
i$p(%key,%,2)="KEYESC" q | |
s$p(%ord,%,26)=$p(^SpravUsl(61+%notify,51,%id),%,1) | |
s%ttime=$p(^SpravUsl(61+%notify,50,%id),%,4) | |
i $p(%ord,%,1)'=""s %ttime=%ttime+$p(^SpravUsl(61+%notify,51,%id),%,4) | |
i %notify g abr1 | |
i $p(%ord,%,5)=""s %ttime=%ttime+$p(^SpravUsl(61,52,%id),%,4) g abr1 | |
i $p(%ord,%,9)'=""s %ttime=%ttime+$p(^SpravUsl(61,55,%id),%,4) g abr1 | |
i $p(%ord,%,8)'=""s %ttime=%ttime+$p(^SpravUsl(61,54,%id),%,4) g abr1 | |
i $p(%ord,%,7)'=""s %ttime=%ttime+$p(^SpravUsl(61,53,%id),%,4) g abr1 | |
abr1 | |
s%fff("NOPER")=$p(%ord,%,24) | |
ddrscr^uf58("iap!HSTOL") | |
i$$get^uf58("iap!HSTOL","%fff")="ESC"g abr2 | |
s$p(%ord,%,24)=%fff("NOPER") | |
s%tsumm=$zzoo(%ttime*$p(%ord,%,16)) | |
s%rest=$p(%ord,%,14)-%tsumm | |
s$p(%ord,%,23)=%rest | |
s%key=$$^dp58dlg(3,20,7,60,"Неужеликлиент явилсяза остатком?","ЯВИЛСЯ"_%_"НЕЯВИЛСЯ","",2,"","") | |
i$p(%key,$c(30),2)="KEYESC" g abr2 | |
s^appstat("ORDERS",%nord)=%ord | |
s%reestr=$$REESTR("СНТ",%nord,$p(%ord,%,13),$p(%ord,%,22),,%tsumm,) | |
dAddOplata^AppSys($s($p(%ord,%,3)="СНГ":82,1:882),0,%reestr) | |
d ADDRRR(%reestr) | |
i$p(%key,$c(30),1)=1 g abr4 | |
s%reestr=$$REESTR("НЕВ",%nord,$p(%ord,%,13),$p(%ord,%,22),,,%rest) | |
dAddOplata^AppSys($s($p(%ord,%,3)="СНГ":84,1:884),0,%reestr,"","Заказ"_%nord) | |
d ADDRRR(%reestr) | |
g abr3 | |
abr4 | |
s%reestr=$$REESTR("ОСТ",%nord,$p(%ord,%,13),$p(%ord,%,22),,,%rest) | |
s%i=$s($p(%ord,%,3)="СНГ":85,1:885) | |
s%i=%i+($$SYSH=$p(%ord,%,28)) | |
dAddOplata^AppSys(81,$p(%ord,%,14),"","",$$KVITAN(%nord,%ord,1),"p") | |
dAddOplata^AppSys(%i,-%rest,%reestr) | |
d ADDRRR(%reestr) | |
i %rest>0 s%key=$$^dp58msg(3,20,"Барышня,"_%_"вернитепожалустаклиентуостаток"_%_$zzc(%rest),0) | |
k^appstat("ORDERS",%nord) | |
i$$AskPrint^iaphand() d PrintKvit^AppSysd | |
e d NewKvit^AppSysd | |
abr3 | |
q | |
DrawREASON | |
i%dpINDEX="DRAWFREE" w $j("",%dpSX) q | |
w$zzr($p(^SpravUsl(61+%notify,51,%id),%,1),%dpSX) q | |
REST(%nord) | |
n%ord,%notify,%tarif,%key,%id,%tsumm,%rest,%reestr,%ttime,%i | |
s%ord=^appstat("ORDERS",%nord) s %notify=$p(%ord,%,18) | |
s%key=$$^dp58dlg(3,20,7,60,"Неужеликлиент явилсяза остатком?","ЯВИЛСЯ"_%_"НЕЯВИЛСЯ","",2,"","") | |
i$p(%key,$c(30),2)="KEYESC" q | |
i$p(%key,$c(30),1)=2 q | |
s%rest=$p(%ord,%,23) | |
s%reestr=$$REESTR("ВЗВ",%nord,$p(%ord,%,13),$p(%ord,%,22),,,%rest) | |
s%i=$s($p(%ord,%,3)="СНГ":85,1:885) | |
s%i=%i+($$SYSH=$p(%ord,%,28)) | |
dAddOplata^AppSys(81,$p(%ord,%,14),"","",$$KVITAN(%nord,%ord,1),"p") | |
dAddOplata^AppSys(%i,-%rest,%reestr) | |
d ADDRRR(%reestr) | |
i %rest>0 s%key=$$^dp58msg(3,20,"Девушкас веслом,"_%_"вернитепожалустаклиентуостаток"_%_$zzc(%rest),0) | |
k^appstat("ORDERS",%nord) | |
i$$AskPrint^iaphand() d PrintKvit^AppSysd | |
e d NewKvit^AppSysd | |
q | |
REESTR | (%SUBJECT,%NORD,%FULLTIME,%TOTALTIME,%DEPOSIT,%TOTAL,%REST) |
n %r,%z,%t | |
s%z=^appstat("ORDERS",%NORD) | |
s %r.1=8 | |
s%r.2=%APPSYS("NOM_GOES") | |
s%r.3=%APPSYS("NOM_OPER") | |
s%r.4=$p($$GetDTQ^AppSys,%,1) | |
s %r.5=%NORD | |
s%r.6=%APPSYS("NOM_KVIT") ; НОМЕРКВИТАНЦИИ | |
s %r.7=""i %SUBJECT="ПРН" s%r.7=%APPSYS("NOM_OPER") | |
s %r.8=""i %SUBJECT="ПРН" s %r.8=$p(%z,%,19) ;$h принятиязаказа | |
s %r.9=$p(%z,%,24) ;номер опреаторакоторый принялзаказ на столе | |
s %r.10=""i %SUBJECT="ПРН" s %r.10=$p(%z,%,20); $h передачизаказа | |
s %r.11=""i %SUBJECT'="ПРН" s%r.11=%APPSYS("NOM_OPER") | |
s %r.12=""i %SUBJECT'="ПРН" s %r.12=$h ;выполнениезаказа | |
s%r.13=$g(%FULLTIME) | |
s%r.14=$g(%TOTALTIME) | |
s %r.15=$p(%z,%,17) | |
s %r.16=%SUBJECT | |
s %r.17=$p(%z,%,2) | |
s %r.18=$p(%z,%,16) | |
s %r.19=$p(%z,%,3) | |
s %r.20="ОБЫЧНЫЙ"i $p(%z,%,4)=1 s %r.20="СРОЧНЫЙ" | |
s %r.21=$p(%z,%,11) | |
s %r.22=$p(%z,%,15) | |
s %r.23=$g(%DEPOSIT) | |
s %r.24=$g(%TOTAL) | |
s %r.25=$g(%REST) | |
s %r.26=""i $p(%z,%,25)=1 s %r.26="ЛЬГОТНЫЙ" | |
s %r.27=$p(%z,%,10) | |
s %r.28=$p(%z,%,12) | |
s %r.29="" | |
i $p(%z,%,18) d | |
. s%r.29=$$DATE2SYS^dp58sys($e($p(%z,%,5),1,2)_"/"_$e($p(%z,%,5),3,4)_"/"_$e($p(%z,%,5),5,6))_","_$$TIME2SYS^dp58sys($e($p(%z,%,6),1,2)_":"_$e($p(%z,%,6),3,4)) | |
s%t=$p(%z,%,5)_","_$p(%z,%,6)_","_$p(%z,%,7)_","_$p(%z,%,8)_","_$p(%z,%,9) | |
i $p(%z,%,27)'=""s $p(%t,",",$p(%z,%,27))="["_$p(%t,",",$p(%z,%,27))_"]" | |
s %r.30=%t | |
i $p(%z,%,18) s%r.30=$p(%z,%,7) | |
s %r.31=$p(%z,%,1) | |
s %r.32=$p(%z,%,24) | |
s %r.33=$p(%z,%,26) | |
i $p(%z,%,27)'=""s %r.33=$p(%z,%,27)_" "_$p(%z,%,26) | |
s %r.34=$p(%z,%,23) | |
q %r | |
ADDRRR(%RRR) | |
s^ReestrIndRK($p(%RRR,$c(30),5),$p(%RRR,$c(30),16))=%APPSYS("LAST_IND") | |
q | |
KVITAN(%NORD,%ORD,%RESTF) | |
n %kv,%d s%kv="Заказ N "_%NORD | |
s%kv=%kv_$c(13)_$p(%ORD,%,11) | |
s %d=$p(%ORD,%,5) | |
i $p(%ORD,%,18) | |
s%kv=%kv_$c(13)_$e(%d,1,2)_"/"_$e(%d,3,4)_"/"_$e(%d,5,6) | |
s %d=$p(%ORD,%,6) | |
i $p(%ORD,%,18) | |
s%kv=%kv_$c(13)_$e(%d,1,2)_":"_$e(%d,3,4) | |
i %RESTF s%kv=%kv_$c(13)_$p(%ORD,%,2)_"-"_$p(%ORD,%,4+$p(%ORD,%,27)) | |
q %kv | |
; IAKoff Save, %n,05/06/96 | |
iaphandinit | |
iaphandinit | ;IAKoff;02:06 PM 12Feb 1996; |
i$g(^SpravUsl(61))="" s ^SpravUsl(61)="РУЧНОЙЗАКАЗ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,10))="" s^SpravUsl(61,10)="ОБЫЧНЫЙ 1 1 1 0 разы" | |
i$g(^SpravUsl(61,11))="" s^SpravUsl(61,11)="СРОЧНЫЙ 1 1 2 0 разы" | |
i$g(^SpravUsl(61,31))="" s^SpravUsl(61,31)="ПРИГЛАШЕНИЕ 0 0 1 0 мин." | |
i$g(^SpravUsl(61,32))="" s^SpravUsl(61,32)="СПРАВКА 0 0 2 0 мин." | |
i$g(^SpravUsl(61,33))="" s ^SpravUsl(61,33)="ВЫЗОВПО 3 ТЛФ. 0 0 1 0 мин." | |
i$g(^SpravUsl(61,34))="" s ^SpravUsl(61,34)="ВЫЗОВПО 4 ТЛФ. 0 0 2 0 мин." | |
i$g(^SpravUsl(61,35))="" s ^SpravUsl(61,35)="ВЫЗОВПО 5 ТЛФ. 0 0 3 0 мин." | |
i$g(^SpravUsl(61,50))="" s ^SpravUsl(61,50)="СНЯТИЕЗАКАЗА 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,1))="" s^SpravUsl(61,50,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(61,50,2))="" s^SpravUsl(61,50,2)="НВЛ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,3))="" s^SpravUsl(61,50,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,4))="" s^SpravUsl(61,50,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,5))="" s^SpravUsl(61,50,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,6))="" s^SpravUsl(61,50,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,7))="" s^SpravUsl(61,50,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,8))="" s^SpravUsl(61,50,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,9))="" s^SpravUsl(61,50,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,10))="" s^SpravUsl(61,50,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,50,11))="" s^SpravUsl(61,50,11)="ЗНЯ 666 0 1 0 мин." | |
i$g(^SpravUsl(61,51))="" s ^SpravUsl(61,51)="СНЯТИЕС ПРИГЛАШЕНИЯ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,1))="" s^SpravUsl(61,51,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(61,51,2))="" s^SpravUsl(61,51,2)="НВЛ 0 0 1 0 мин." | |
i$g(^SpravUsl(61,51,3))="" s^SpravUsl(61,51,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,4))="" s^SpravUsl(61,51,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,5))="" s^SpravUsl(61,51,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,6))="" s^SpravUsl(61,51,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,7))="" s^SpravUsl(61,51,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,8))="" s^SpravUsl(61,51,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,9))="" s^SpravUsl(61,51,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,10))="" s^SpravUsl(61,51,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,51,11))="" s^SpravUsl(61,51,11)="ЗНЯ 666 0 1 0 мин." | |
i$g(^SpravUsl(61,52))="" s ^SpravUsl(61,52)="СНЯТИЕСО СПРАВКИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,1))="" s^SpravUsl(61,52,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(61,52,2))="" s^SpravUsl(61,52,2)="НВЛ 0 0 1 0 мин." | |
i$g(^SpravUsl(61,52,3))="" s^SpravUsl(61,52,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,4))="" s^SpravUsl(61,52,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,5))="" s^SpravUsl(61,52,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,6))="" s^SpravUsl(61,52,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,7))="" s^SpravUsl(61,52,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,8))="" s^SpravUsl(61,52,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,9))="" s^SpravUsl(61,52,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,10))="" s^SpravUsl(61,52,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,52,11))="" s^SpravUsl(61,52,11)="ЗНЯ 666 0 1 0 мин." | |
i$g(^SpravUsl(61,53))="" s ^SpravUsl(61,53)="СНЯТИЕС 3-Х ТЕЛЕФОНОВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,1))="" s^SpravUsl(61,53,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(61,53,2))="" s^SpravUsl(61,53,2)="НВЛ 0 0 1 0 мин." | |
i$g(^SpravUsl(61,53,3))="" s^SpravUsl(61,53,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,4))="" s^SpravUsl(61,53,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,5))="" s^SpravUsl(61,53,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,6))="" s^SpravUsl(61,53,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,7))="" s^SpravUsl(61,53,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,8))="" s^SpravUsl(61,53,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,9))="" s^SpravUsl(61,53,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,10))="" s^SpravUsl(61,53,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,53,11))="" s^SpravUsl(61,53,11)="ЗНЯ 666 0 1 0 мин." | |
i$g(^SpravUsl(61,54))="" s ^SpravUsl(61,54)="СНЯТИЕС 4-Х ТЕЛЕФОНОВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,1))="" s^SpravUsl(61,54,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(61,54,2))="" s^SpravUsl(61,54,2)="НВЛ 0 0 1 0 мин." | |
i$g(^SpravUsl(61,54,3))="" s^SpravUsl(61,54,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,4))="" s^SpravUsl(61,54,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,5))="" s^SpravUsl(61,54,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,6))="" s^SpravUsl(61,54,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,7))="" s^SpravUsl(61,54,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,8))="" s^SpravUsl(61,54,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,9))="" s^SpravUsl(61,54,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,10))="" s^SpravUsl(61,54,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,54,11))="" s^SpravUsl(61,54,11)="ЗНЯ 666 0 1 0 мин." | |
i$g(^SpravUsl(61,55))="" s ^SpravUsl(61,55)="СНЯТИЕС 5-ТИ ТЕЛЕФОНОВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,1))="" s^SpravUsl(61,55,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(61,55,2))="" s^SpravUsl(61,55,2)="НВЛ 0 0 1 0 мин." | |
i$g(^SpravUsl(61,55,3))="" s^SpravUsl(61,55,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,4))="" s^SpravUsl(61,55,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,5))="" s^SpravUsl(61,55,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,6))="" s^SpravUsl(61,55,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,7))="" s^SpravUsl(61,55,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,8))="" s^SpravUsl(61,55,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,9))="" s^SpravUsl(61,55,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,10))="" s^SpravUsl(61,55,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(61,55,11))="" s^SpravUsl(61,55,11)="ЗНЯ 666 0 1 0 мин." | |
i$g(^SpravUsl(62))="" s ^SpravUsl(62)="ЗАКАЗПО УВЕДОМЛЕНИЮ 0 0 1 0 мин." | |
i$g(^SpravUsl(62,10))="" s^SpravUsl(62,10)="ОБЫЧНЫЙ 1 1 1 0 разы" | |
i$g(^SpravUsl(62,11))="" s^SpravUsl(62,11)="СРОЧНЫЙ 1 1 2 0 разы" | |
i$g(^SpravUsl(62,31))="" s^SpravUsl(62,31)="ПРИГЛАШЕНИЕ 0 0 1 0 мин." | |
i$g(^SpravUsl(62,32))="" s^SpravUsl(62,32)="СПРАВКА 0 0 1 0 мин." | |
i$g(^SpravUsl(62,50))="" s ^SpravUsl(62,50)="СНЯТИЕЗАКАЗА 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,1))="" s^SpravUsl(62,50,1)="ОМС 0 0 2 0 мин." | |
i$g(^SpravUsl(62,50,2))="" s^SpravUsl(62,50,2)="НВЛ 0 0 2 0 мин." | |
i$g(^SpravUsl(62,50,3))="" s^SpravUsl(62,50,3)="NoНО 0 0 2 0 мин." | |
i$g(^SpravUsl(62,50,4))="" s^SpravUsl(62,50,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,5))="" s^SpravUsl(62,50,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,6))="" s^SpravUsl(62,50,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,7))="" s^SpravUsl(62,50,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,8))="" s^SpravUsl(62,50,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,9))="" s^SpravUsl(62,50,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(62,50,10))="" s^SpravUsl(62,50,10)="ОДС 0 0 2 0 мин." | |
i$g(^SpravUsl(62,50,11))="" s^SpravUsl(62,50,11)="ЗНЯ 666 0 2 0 мин." | |
i$g(^SpravUsl(62,51))="" s ^SpravUsl(62,51)="СНЯТИЕС ПРИГЛАШЕНИЯ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,1))="" s^SpravUsl(62,51,1)="ОМС 0 0 1 0 мин." | |
i$g(^SpravUsl(62,51,2))="" s^SpravUsl(62,51,2)="НВЛ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,3))="" s^SpravUsl(62,51,3)="NoНО 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,4))="" s^SpravUsl(62,51,4)="ПВ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,5))="" s^SpravUsl(62,51,5)="ПС 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,6))="" s^SpravUsl(62,51,6)="ТИ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,7))="" s^SpravUsl(62,51,7)="СО 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,8))="" s^SpravUsl(62,51,8)="РВ 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,9))="" s^SpravUsl(62,51,9)="ВК 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,10))="" s^SpravUsl(62,51,10)="ОДС 0 0 0 0 мин." | |
i$g(^SpravUsl(62,51,11))="" s^SpravUsl(62,51,11)="ЗНЯ 666 0 1 0 мин." | |
q |
ПРИЛОЖЕНИЕ5
Текстпрограммыстартера монитора
; IAKoff Save, %n,05/06/96 | |
iapmon | |
iapmon | ;IAKoff;11:47 PM 23Jan 1996; |
q | |
;ОбслуживаниеАПП-РК | |
run() | |
n %nname,%d | |
i$g(^appstat("NODE"))'=$znode q 1 | |
s%d=$g(^appstat("DEVICE"))+0 | |
i (%d108)q 2 | |
i $$tstjob()'=""g endrun | |
s ^appstat(1)="F"s ^appstat(2)="F" s ^appstat(3)="F" | |
j^iapbckg(^appstat("DEVICE")):(name="APP-MON":strstk=8000:sysstk=8000) | |
endrun | |
q 0 | |
;---------------------------------------- | |
tstjob() | |
n %c,%i,%n | |
s $zp=$c(30) | |
s %c=$zjob("*")_"*"s %i=1 | |
m2 | |
s %n=$p(%c,",",%i) | |
i %n="" getm | |
i$p($zjob(%n),"|",9)="APP-MON" g etm | |
s %i=%i+1 g m2 | |
etm | |
q %n | |
;---------------------------------------- | |
stop | |
i $$tstjob()=""g endstop | |
nobckg1 | |
i(^appstat(1)="F")&(^appstat(2)="F")&(^appstat(3)="F")g stopbckg | |
g endstop | |
stopbckg | |
s^appstat("CMD")="H" | |
; нижебыла оШибка! | |
i^appstat("STATUS")'="H" g nobckg1 | |
endstop | |
q |
отзыв
на дипломныйпроект студентагруппы РП 411КоноваловаИльи Анатольевича“Автоматизированноерабочее местопереговорногопункта и информационнойсистемы”.
Автоматизированныесистемы управлениягородскимиотделениямисвязи являютсянепременнойатрибутикойсовременныхпереговорныхпунктов общегопользования.АПП ГОЭС представляетновое поколениеАСУ этого класса
Данный дипломныйпроект посвященразработкеавтоматизированногорабочего местапереговорногопункта и информационнойсистемы. Работавыполнена вполном объеме,в соответствиис требованиямитехническогозадания.
В дипломномпроекте навысоком уровнерешены вопросыобеспеченияэргономическихи психофизиологическихтребований.
В дипломномпроекте проявленыхорошие знанияпринциповработы аппаратныхи программныхчастей комплекса"Автоматизированныйпереговорныйпункт городскогоотделенияэлектросвязи”,а также в областипроектированияи построенияавтоматизированныхсистем.
Недостаткомвыполненияданной дипломнойработы явилосьотсутствиеуниверсальногопротоколаобщения с аппаратнымисредствами,что требуетсогласованияпрограммногообеспеченияпри переходена новые моделиаппаратуры,и неунифицированностьинформациив рамках системы,связанной стем, что задачиаппаратногопродолженияработают вреальном масштабевремени.
Большое вниманиебыло уделеновопросу построениядружественногопользовательскогоинтерфейса,обеспечивающеголегкость ипростоту работыв системе,надежности.
Считаю, чтодипломныйпроект заслуживаетоценки “отлично”,а студент КоноваловИ.А. достоинприсвоенияему квалификации“инженер программист”по специальности“ПО ВТ и АС”.
Руководительдипломногопроекта | |
ОнищенкоВ.Ф. | |
10июня 1996 года | |
рецензия
на дипломныйпроект КоноваловаИльи Анатольевича“Автоматизированноерабочее местопереговорногопункта и информационнойсистемы” (АРМАПП и ИС).
На рецензиюпредставлендипломныйпроект с пояснительнойзапиской на113 листах, 5 плакатах.
Дипломантубыла поставленазадача проектированияавтоматизированногопереговорногопункта и информационнойсистемы.
Так как комплекс“Автоматизированноерабочее местопереговорногопункта и информационнойсистемы” включаетв себя задачиаппаратногопродолжения,то для обеспеченияразработкикомплексавозникланеобходимостьразработкизадач, работающихв режиме реальноговремени.
Дипломантомпроделанабольшая работапо проектированиюпрограммногои информационногообеспеченияуказанноговыше комплекса.
Проектированиеи программнаяреализациявсех задачвыполненаграмотно, наинженерномуровне и полностьюудовлетворяеттребованиямзаказчика.
Заслуживаетвнимания выполненнаяна высокоминженерномуровне проработкавопросов связимежду программнымикомпонентамикомплексовв целом и аппаратнопрограммноевзаимодействие.Связь компонентовпроектируемыхзадач междусобой отличаетсялегкостью ипростотой.
Недостаткомвыполненияданной дипломнойработы явилосьотсутствиеуниверсальногопротоколаобщения с аппаратнымисредствами,что требуетсогласованияпрограммногообеспеченияпри переходена новые моделиаппаратуры,и неунифицированностьинформациив рамках системы,связанной стем, что задачиаппаратногопродолженияработают вреальном масштабевремени.
В целом дипломнаяработа выполненана инженерномуровне. Дипломантпоказал высокийуровень знанийв областимикропроцессорнойтехники иавтоматизированныхсистем, проявилумение грамотнорешать проектныезадачи. Дипломнаяработа заслуживаетотличной оценки,а дипломантКоновалов И.А.присвоенияему квалификации“инженер программист”.
Рецензент | |
ГлавныйконструкторСП “ПРОНАНltd” | А.Г.Падалка |
17июня 1996 года | |
г.Запорожье |