Имя: Пароль:
1C
1С v8
Временная обработка обмена
,
0 sany159
 
12.07.15
11:34
Добрый день.
Подскажите пожл что нужно прописать в данной кнопке "Выполнить"
чтобы при нажатии на нее в любое время текущего дня запуск обработки осуществлялся на следующий день в 00 часов 05 минут ?
Заранее спасибо!

Процедура КнопкаВыполнитьНажатие(Кнопка)
    Если Константы.ПолныйОбменDWH.Получить() = Истина Тогда
        ВыполнитьОбмен(ДатаНачалаВыгрузкиПортфеляПИФа,спсМодулиОбмена);
    Иначе
        ВыполнитьОбмен(НачалоДня(ТекущаяДата()) - 10*3600*24,спсМодулиОбмена);
    КонецЕсли;
КонецПроцедуры
1 ДенисЧ
 
12.07.15
11:35
Я бы прописал заявление по собственному в связи с несоответствием
2 Отладчик
 
12.07.15
11:39
Процедура КнопкаВыполнитьНажатие(Кнопка)
Если Дата(СледующийДень+05минут) Тогда
3 sany159
 
12.07.15
11:41
Денис, работаю специалистом тех поддержки, программиста нет (уволился) и вот каждую ночь так ручками приходится)
4 sany159
 
12.07.15
11:41
Отладчик, спасибо! попробую)
5 ДенисЧ
 
12.07.15
11:42
(3) Если ты техподдержка, то зачем лезьть в код?
6 Отладчик
 
12.07.15
11:43
(4) Это, я пошутил. Хотя, ладно. Пробуй )
7 Casey1984
 
12.07.15
11:43
"запуск обработки осуществлялся" - какой обработки?

"ВыполнитьОбмен" - что это?

"работаю специалистом тех поддержки" - если тебе пользователь задаст такой размытый вопрос?
8 sany159
 
12.07.15
11:44
попробую поставить "ТекущаяДата" но не понятно как таймаут будет идти? так она же просто не запуститься вообще?
9 Отладчик
 
12.07.15
11:45
(8) Погугли 1ц-регламентные задания что ли
10 sany159
 
12.07.15
11:45
Casey1984, обработка обмена (запускается при нажатии на кнопку)
11 Отладчик
 
12.07.15
11:46
По нажатию на кнопку инициализировать обработчик, что бы сработал на следующий день в 00 часов 05 минут ?
Вы не с той стороны к вопросу подходите, имхо.
12 sany159
 
12.07.15
11:46
регламентные задания не подходят, там входные параметры меняются
13 ДенисЧ
 
12.07.15
11:46
Главное - никогда не использовать имеющихся средств платформы, а придумывать свой велосипед!!!
Это главное в работе компьютерщика!
14 sany159
 
12.07.15
11:47
входные параметры выставляются внутри формы
15 Casey1984
 
12.07.15
11:48
(10) пока что я вижу только "ВыполнитьОбмен"
16 sany159
 
12.07.15
11:49
(6) хочу внести незначительные изменения, чтобы не запускать обработку каждый раз ночью
17 Отладчик
 
12.07.15
11:49
(3) Хоть доплатят если разберешься?
18 sany159
 
12.07.15
11:50
(17) нет) просто спать буду в 00 часов)
19 sany159
 
12.07.15
11:51
(15) первый мой пост
20 Отладчик
 
12.07.15
11:52
"не большие достижения" пишется вместе кстати. Небольшие.
21 sany159
 
12.07.15
11:58
Ребят, так можно поставить таймаут после нажатия на кнопку?
22 Casey1984
 
12.07.15
12:01
(21) забудь про таймаут, фоновые/регламентные задания.
23 Отладчик
 
12.07.15
12:01
1с под рукой нету.
Что за параметры? Когда надо нажимать кнопку?
24 Отладчик
 
12.07.15
12:01
Параметры как идут, по FIFO?
25 Отладчик
 
12.07.15
12:02
Если я два раза нажму на кнопку и параметры будут разные
26 Отладчик
 
12.07.15
12:02
Обработчик кнопки показывай
27 Casey1984
 
12.07.15
12:03
(21) "ВыполнитьОбмен", что за дата туда передается?
(23) а конфигурацию знаешь? релиз? как угадал?)
28 sany159
 
12.07.15
12:05
Процедура ПриОткрытии()
    
    Если спсМодулиОбмена.Количество() = 0 Тогда
        спсМодулиОбмена.Добавить(кБИРЖИ);
        спсМодулиОбмена.Добавить(кПРИОРИТЕТЫ_БИРЖ);
        спсМодулиОбмена.Добавить(кЭМИТЕНТЫ);
        спсМодулиОбмена.Добавить(кППЗ);
        спсМодулиОбмена.Добавить(кИНСТРУМЕНТЫ);
        спсМодулиОбмена.Добавить(кФОНДЫ);
        спсМодулиОбмена.Добавить(кРЕГИСТР_СЧА);
        спсМодулиОбмена.Добавить(кПОРТФЕЛЬ_ПИФА);
        спсМодулиОбмена.Добавить(кОСТАТОК_НА_СЧЕТАХ);
        спсМодулиОбмена.Добавить(кПАЙЩИКИ);
        спсМодулиОбмена.Добавить(кБАНКИ);
        спсМодулиОбмена.Добавить(кЛИЦЕВЫЕ_СЧЕТА);
        спсМодулиОбмена.Добавить(кЗАЯВКИ);
        спсМодулиОбмена.Добавить(кОПЕРАЦИИ);
        спсМодулиОбмена.Добавить(кСКИДКИ);
        спсМодулиОбмена.Добавить(кТАРИФЫ_СКИДОК);
        спсМодулиОбмена.Добавить(кВАЛЮТЫ);
        спсМодулиОбмена.Добавить(кОТРАСЛИ);
        спсМодулиОбмена.Добавить(кПРОВОДКИ);
        
        Для каждого Элемент из спсМодулиОбмена Цикл
            Элемент.Пометка = Истина;
        КонецЦикла;
    КонецЕсли;
    Если ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("Markova Julia") Тогда
        СтрокаПодключения = "";
        Логин = "";
        Пароль = "";
        ВыполнитьОбмен(НачалоДня(ТекущаяДата()) - 3*3600*24,);
        ЭтаФорма.Закрыть();
        Возврат;
    ИначеЕсли ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("Админ")
        ИЛИ ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("MPeresypkin") Тогда
        //Чтоб форму открыть можно было    
    ИначеЕсли ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("_Rarus") Тогда
        //СтрокаПодключения = "";
        //Логин = "";
        //Пароль = "";
        //Чтоб форму открыть можно было    
    Иначе
        Сообщить("В интерактивном режиме эта обработка доступна только пользователю ""Маркова Юлия""");
        ЭтаФорма.Закрыть();
        Возврат;
    КонецЕсли;
    //спсМодулиОбмена.Очистить();
    ЭлементыФормы.ВключитьЖурналирование.Значение = Константы.ВключитьЖурналированиеИзменений.Получить();
    Сообщить (Константы.ПолныйОбменDWH.Получить());
    ЭлементыФормы.ПолныйОбмен.Значение = Константы.ПолныйОбменDWH.Получить();    
    Сообщить (Константы.ПолныйОбменDWH.Получить());
    
КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
    Если Константы.ПолныйОбменDWH.Получить() = Истина Тогда
        ВыполнитьОбмен(ДатаНачалаВыгрузкиПортфеляПИФа,спсМодулиОбмена);
    Иначе
        ВыполнитьОбмен(НачалоДня(ТекущаяДата()) - 10*3600*24,спсМодулиОбмена);
    КонецЕсли;
КонецПроцедуры

Процедура ПередЗакрытием()
    Автообмен = Ложь;
    
    Если Connection<> Неопределено Тогда
        Попытка
            Connection.RollBackTrans()
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
        
        Connection.Close();
        Command = 0;
    КонецЕсли    
    //Предупреждение("закрываемся");
КонецПроцедуры

Процедура ТЗапросОткрытие(Элемент, СтандартнаяОбработка)
    РезультатЗапроса = ВыполнитьЗапрос(СокрЛП(ЭлементыФормы.ТЗапрос.Значение));
    
    КонецФайла = РезультатЗапроса.EOF;     
    СтрокаВывода = "";
    For each Obj in РезультатЗапроса.Fields Do  
        СтрокаВывода = СтрокаВывода+Obj.Name+"        ";    
    EndDo;
    Сообщить(СтрокаВывода);
    сч = 0;
    
    Пока КонецФайла <> ИСТИНА Цикл
        сч = сч+1;
        СтрокаВывода = "N "+строка(сч)+"    ";
        For each Obj in РезультатЗапроса.Fields Do  
            СтрокаВывода = СтрокаВывода+Obj.Value+"        ";    
        EndDo;
        Сообщить(СтрокаВывода);
        РезультатЗапроса.MoveNext();
        КонецФайла = РезультатЗапроса.EOF;
    КонецЦикла;КонецПроцедуры

Процедура ВключитьЖурналированияПриИзменении(Элемент)
    Константы.ВключитьЖурналированиеИзменений.Установить(ЭлементыФормы.ВключитьЖурналирование.Значение);
КонецПроцедуры

Процедура ПолныйОбменПриИзменении(Элемент)
    // Вставить содержимое обработчика.
    Константы.ПолныйОбменDWH.Установить(ЭлементыФормы.ПолныйОбмен.Значение);
    ЭлементыФормы.ДатаНачалаВыгрузкиПортфеляПИФа.Доступность = ПолныйОбмен;
КонецПроцедуры

Процедура Кнопка1Нажатие(Элемент)
    Подключиться(Неопределено);
КонецПроцедуры

Процедура УстановитьВсеФлагиПриИзменении(Элемент)
    
ЭФ=ЭлементыФормы;

Если ЭФ.УстановитьВсеФлаги.Значение=0 Тогда
    Для Каждого лМодуль из спсМодулиОбмена Цикл
        лМодуль.Пометка = Истина;
    КонецЦикла;    
ИначеЕсли ЭФ.УстановитьВсеФлаги.Значение=1 Тогда
    Для Каждого лМодуль из спсМодулиОбмена Цикл
        лМодуль.Пометка = Ложь;
    КонецЦикла;    
КонецЕсли;

КонецПроцедуры
29 sany159
 
12.07.15
12:06
(25) да, периодически есть изменения в адресе с сервера на сервер прыгаем
30 Отладчик
 
12.07.15
12:07
Деньги есть?
31 Отладчик
 
12.07.15
12:07
Объясни начальству что жадный платит дважды.
32 sany159
 
12.07.15
12:07
это все конечно временно, но еще три месяца запускать руками нехотелось бы.
33 sany159
 
12.07.15
12:08
сколько нужно? постараюсь согласовать по цене.
34 Отладчик
 
12.07.15
12:09
Неопнятно с параметрами, но напиши WSH-скрипт на запуск и засунь в шедулер. А в глобальнике, в процедуре ПриЗапуске или как там, поставь проверку на дату+05. Если истина - выполнение. Параметры хз. В регистр сведений засовывай их.
35 sany159
 
12.07.15
12:16
как бы по проще сделать, чтобы при ручном нажатии на кнопку "Выполнить" он считал время и по указанному запускал
36 Отладчик
 
12.07.15
12:17
(35) Я тебе предложил как по быстрому сделать.
А учиться нужно не на рабочий базе и не в цейнтнот.
37 Отладчик
 
12.07.15
12:19
Если что то где то, если сразу не знаешь, делаешь быстро лишь бы заработало. А потом, как будет время, перепишешь по человечески.
38 Отладчик
 
12.07.15
12:20
И для стимула подойди к начальству. Мол, так и так. Прогер уволился, могу занять его место по совместительству. Естественно не бесплатно. Не жуй сопли короче.
39 sany159
 
12.07.15
12:21
боюсь, что предложенный вариант не смогу сделать)
по совместительству не хотелось бы подписываться)
40 Spyke
 
12.07.15
12:29
(0) Все не читал, но твой код можно засунуть в рег. задание
Только добавить условие проверки существования (к примеру prov.txt) После выполнения твоего кода убивать его, и сделать обработку создания этого проверочного файла
41 Отладчик
 
12.07.15
12:30
Я ничего не понял. http://i9.pixs.ru/storage/9/4/4/20040origi_8665679_14811944.jpg
Род занятий: программирование на платформе 1с.
Тех. поддержка - чего??
Тебе шанс - стать оф. программистом.
Что не хотелось то бы?
42 sany159
 
12.07.15
12:33
sql запросы пишу
1с не интересно заниматься, запуск обработки на меня упало вот временно)
43 Отладчик
 
12.07.15
12:37
(42) В какой СР SQL пишешь?
На кой хрен в личке писать "Программирование на платформе 1с"?
А в 1ц 8х очень интересные запросы кстати. В своё время я тока ради их и смирился с переходом с 7.7. А то бы на Perl/PHP программил бы.
44 thezos
 
12.07.15
13:19
(42) Не запускай ничего ночью. Так и скажи работодателю, что ты ночью спишь, а не занимаешься херью.
45 thezos
 
12.07.15
13:19
(42) Либо запускай обмен в любое рабочее время.
46 mehfk
 
12.07.15
13:57
(43) Переходи назад. В 7-ке с 1с++ запросы еще интереснее.
47 Web00001
 
12.07.15
15:57
никто не может понять что такое ВыполнитьОбмен и почему туда передается дата минус три дня от текущей, надо встать на слово ВыполнитьОбмен и нажать f12, показать модуль сюда. или написать мне на почту и поговорить о цене.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.