Вы хоть покажите, что за 2 дня наломали))Vladimir - писал(а):Уже два дня пытаю свою голову - не получается.
Vladimir - писал(а):В ней два раздела №№ 111 и 121 в которых по одному пожарному шлейфу. Имеется еще один раздел №90 с технологическим шлейфом
Код: Выделить всё
Если ( Разделы1.ПолучитьПоИндексу( 111 ).Состояние() == "ПОЖАР" ) ИЛИ ( Разделы1.ПолучитьПоИндексу( 121 ).Состояние() == "ПОЖАР" ) Тогда
Счетчик1 = 0;
Пока Счетчик1 < 1 Цикл
Состояние1 = 0;
Если Разделы1.ПолучитьПоИндексу( 111 ).Состояние() == "ПОЖАР" Тогда
Состояние1 = Состояние1 + 1;
КонецЕсли;
Если Разделы1.ПолучитьПоИндексу( 121 ).Состояние() == "ПОЖАР" Тогда
Состояние1 = Состояние1 + 1;
КонецЕсли;
Если ( Состояние1 == 2 )И( Разделы1.ПолучитьПоИндексу( 90 ).Состояние() == "ВОССТАНОВЛЕНИЕ ТЕХНОЛОГИЧЕСКОГО" ) Тогда
ВыходыКПБ.ПолучитьПоАдресу( "?.?.11.1" ).Включить( "0" );
//Счетчик1 = 1;
Прервать;
КонецЕсли;
Если Состояние1 == 0 Тогда
//Счетчик1 = 1;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
AlexRuden писал(а):Вы хоть покажите, что за 2 дня наломали))Vladimir - писал(а):Уже два дня пытаю свою голову - не получается.
Сделать то можно такой скрипт, вариантов несколько.Vladimir - писал(а):В ней два раздела №№ 111 и 121 в которых по одному пожарному шлейфу. Имеется еще один раздел №90 с технологическим шлейфом
И вообщето это стандартная тактика АСПТ
---
Вот вам кусок кода для события ПОЖАР гр. раздела, остальное надеюсь додумаете сами ))
Если бы я все переменные смог додумать самостоятельно - то я и скрипт смог бы написать. Но я реально в этом НУБ.
- Спойлер
Код: Выделить всё
Если ( Разделы1.ПолучитьПоИндексу( 111 ).Состояние() == "ПОЖАР" ) ИЛИ ( Разделы1.ПолучитьПоИндексу( 121 ).Состояние() == "ПОЖАР" ) Тогда
Счетчик1 = 0;
Пока Счетчик1 < 1 Цикл
Состояние1 = 0;
Если Разделы1.ПолучитьПоИндексу( 111 ).Состояние() == "ПОЖАР" Тогда
Состояние1 = Состояние1 + 1;
КонецЕсли;
Если Разделы1.ПолучитьПоИндексу( 121 ).Состояние() == "ПОЖАР" Тогда
Состояние1 = Состояние1 + 1;
КонецЕсли;
Если ( Состояние1 == 2 )И( Разделы1.ПолучитьПоИндексу( 90 ).Состояние() == "ВОССТАНОВЛЕНИЕ ТЕХНОЛОГИЧЕСКОГО" ) Тогда
ВыходыКПБ.ПолучитьПоАдресу( "?.?.11.1" ).Включить( "0" );
[b]? - номер ком-порта - у меня №1.
второй ? номер адреса компа - это адрес 127 ?[/b]
то есть должно получиться ВыходыКПБ.ПолучитьПоАдресу( "1.127.11.1" ).Включить( "0" ); ?
//Счетчик1 = 1;
Прервать;
КонецЕсли;
Если Состояние1 == 0 Тогда
//Счетчик1 = 1;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Тогда кто вам поручил писать сценарий?)) Остается только платить бабло)) хехеVladimir - писал(а):Если бы я все переменные смог додумать самостоятельно - то я и скрипт смог бы написать. Но я реально в этом НУБ.Код: Выделить всё
ВыходыКПБ.ПолучитьПоАдресу( "?.?.11.1" ).Включить( "0" );
? - номер ком-порта - у меня №1.
второй ? номер адреса компа - это адрес 127 ?
то есть должно получиться ВыходыКПБ.ПолучитьПоАдресу( "1.127.11.1" ).Включить( "0" ); ?
Код: Выделить всё
Сценарий
Переменные
Перем Счетчик1;
Перем ВыходыКПБ;
Перем Разделы1;
Перем Состояние1;
НачалоСценария
ВыходыКПБ = СоздатьОбъект( "Выходы" );
Разделы1 = СоздатьОбъект("Разделы");
Если ( Разделы1.ПолучитьПоИндексу( 111 ).Состояние() == "ПОЖАР" ) ИЛИ ( Разделы1.ПолучитьПоИндексу( 121 ).Состояние() == "ПОЖАР" ) Тогда
Счетчик1 = 0;
Пока Счетчик1 < 1 Цикл
Состояние1 = 0;
Если Разделы1.ПолучитьПоИндексу( 111 ).Состояние() == "ПОЖАР" Тогда
Состояние1 = Состояние1 + 1;
КонецЕсли;
Если Разделы1.ПолучитьПоИндексу( 121 ).Состояние() == "ПОЖАР" Тогда
Состояние1 = Состояние1 + 1;
КонецЕсли;
Если ( Состояние1 == 2 )И( Разделы1.ПолучитьПоИндексу( 90 ).Состояние() == "ВОССТАНОВЛЕНИЕ ТЕХНОЛОГИЧЕСКОГО" ) Тогда
ВыходыКПБ.ПолучитьПоАдресу( "?.?.11.1" ).Включить( "0" );
//Счетчик1 = 1;
Прервать;
КонецЕсли;
Если Состояние1 == 0 Тогда
//Счетчик1 = 1;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецСценария
Я еще не встретил идеально продуманного проекта системы "Умный Дом", думается мне, что проектировщики не советуются с монтажниками и пусконаладчиками, а зачастую даже не выезжают на объект будущих работ.Vladimir - писал(а):тот кто поручил написать сценарий собственно проектировщик. я бы ему руки повыдергивал за такой проект. вс можно было сделать проще и дешевле, а теперь приходится выпендриваться.
Код: Выделить всё
Сценарий
Переменные
Перем Динамит;
Перем ВасяДелаетРазминирование;
Перем ЭквивалентТротила;
Перем Запал;
Перем МинноеПоле;
Перем ЧертоваМина;
Перем МинаВзорвалась;
Перем КрасныйИЛИсиний;
Перем ПоказательЖизниВаси;
Перем Взрыватель;
Перем Муляж;
НачалоСценария
Запал = СоздатьОбъект("Выход");
МинноеПоле = СоздатьОбъект("Раздел");
КрасныйИЛИсиний = СоздатьОбъект("Шлейф");
Динамит = "1.0.11.1";
Взрыватель = "1.0.1.127";
ВасяДелаетРазминирование = "ДА";
МинаВзорвалась = "Нет";
ЭквивалентТротила = 15;
ЧертоваМина = 666;
Муляж = "Нет";
Пока ВасяДелаетРазминирование <> МинаВзорвалась Цикл
Если ( Лев( МинноеПоле.ПолучитьПоИндексу( ЧертоваМина - 555 ).Состояние() , 1) +
Сред( МинноеПоле.ПолучитьПоИндексу((ЧертоваМина+60)/6).Состояние() , 2 , 1) +
Сред( МинноеПоле.ПолучитьПоИндексу( ЧертоваМина + 37 ).Состояние() , 3 , 1) +
Сред( МинноеПоле.ПолучитьПоИндексу( ЧертоваМина + 38 ).Состояние() , 3 , 1 ) +
Сред( МинноеПоле.ПолучитьПоИндексу( ЧертоваМина + 39 ).Состояние() , 6 , 1 ) +
Сред( МинноеПоле.ПолучитьПоИндексу( ЧертоваМина + 5*8 ).Состояние() , 5 , 1 ) + "Ь !!!" ) == "ПОССАТЬ !!!"
Тогда
Для ПоказательЖизниВаси = 1 По 100 Цикл
Если ( Сред( КрасныйИЛИсиний.ПолучитьПоАдресу( Взрыватель ).Состояние() , 11 , 1 ) +
Сред( КрасныйИЛИсиний.ПолучитьПоАдресу( Взрыватель ).Состояние() , 3 , 2 ) + "П" ) == "ТРУП"
Тогда
Запал.ПолучитьПоАдресу( Динамит ).Включить( Строка(ЭквивалентТротила) );
МинаВзорвалась = "ДА";
Прервать;
КонецЕсли;
Задержка( 1800 );
КонецЦикла;
Иначе
Муляж = "?";
Если ( Сред( МинноеПоле.ПолучитьПоИндексу( ЧертоваМина / 6 ).Состояние() , 3 , 1 ) + "ОПА" ) <> "ЖОПА" Тогда
Муляж = "Д";
КонецЕсли;
Если ( "В" + Сред( МинноеПоле.ПолучитьПоИндексу( ( ЧертоваМина + 60 ) / 6 ).Состояние() , 4 , 1 ) + "СЕ" ) <> "ВАСЕ" Тогда
Муляж = Муляж + "А";
КонецЕсли;
Если Муляж == ВасяДелаетРазминирование Тогда
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецСценария
Вернуться в «АРМ Орион Про версии до 1.20»
Сейчас этот раздел просматривают: 4 гостя