Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   как остановить обработку.... (http://forums.kuban.ru/f1040/kak_ostanovit-_obrabotku-3800003.html)

EarlyBird 06.03.2013 11:09

тебе уже объяснили, как аккуратно остановить отчёт

СthuIhu 06.03.2013 16:30

(37): "скрипач не нужен". посто ГП не нужна.
(нет, на восьмерку не агитирую)

Чучундер 07.03.2013 00:35

(39) можно прервать по ескейпу. Ничего катастрофического при этом не произойдет. Если до этого данные в базе были недостоверными (но устраивающими персонал) - то после эскейпа данные также будут недостоверными (возможно, чуток изменятся) и скорее всего точно также будут устраивать тех, кто их смотрит.
.
все зависит от того, что именно и как сильно было изменено в заднем числе - там, куда откатилась ГП. все заисит от того, какие данные на сейчас интересуют персонал. ВСЕ ЗАВИСИТ ОТ КУЧИ ФАКТОРОВ. прога не может учесть все наши соображения в голове и наше видение учета. Поэтому она поступает жестко - фиксирует сам факт и предлагает пересчитать ВСЕ, гарантируя при этом что на выходе будут достоверные данные.
.
но никто не запрещает перенести ГП на сейчас, вообще не пересчитывая данные.

Чучундер 07.03.2013 00:41

И что бы кто бы здесь не трындел что ГП не нежна или можно обойтись без нее - все это трындеж. Можно обойтись без ГП, но при этом будут существовать другие механизмы обеспечивающие НЕПРОТИВОРЕЧИВОСТЬ И ДОСТОВЕРНОСТЬ ДАННЫХ. Причем не в бухгалтерском смысле когда похрен что там в меясце/квартале твориться - главное чтобы на конец отчетного месяца данные были похожи на достоверные, а в смысле непротиворечивости и достоверности учетных и фактических данных на всем временном отрезке их сущестования.
.
Поэтому там, где работа идет И ДОЛЖНА ИДТИ в режиме реального времени - проблемы ГП, восстановления, заднего числаи прочего - не существует. Эти проблемы начинаются там, где начинается учет эфемерных сущностей - себестоимостей, оторванных от реальности партий, виртуальных возвратов, вычерков и прочей [filolog]хуйни[/filolog].

qweqwe123123 07.03.2013 01:30

глВосстановлениеПоследовательности(ВыбПоследовательность)

101 07.03.2013 07:49

(39) ГП в данном контексте перераспределяет партии и оплаты ... если оно нужно то думайте сами ...

Helen1986 07.03.2013 09:51

(44) умный, да? достоверности захотел без ГП.
Сказано - белочка, вот и ищи ее

СthuIhu 07.03.2013 11:25

(46): нихрена она не перераспределяет.
перепроведение от самого первого откорректированного задним числом - да, перераспределяет (а если с умом сделать - то оптимально по ресурсозатратам).
а ГП (по крайней мере в дефолтном виде) - это лишняя сущность.

MrDen 13.03.2013 13:29

Останавливаю восстановление ГП по:
1 - внешнее событие, в т.ч. обработка клавиатуры, мыши
2 проверкой изменения файловой системы
3 запуск обработки в таймере и завершение таймера и др

7d5x 24.04.2013 08:58

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

VZ 24.04.2013 09:10

48-Cthulhu > ГП есть фактическая последовательность документов. Не хронологическая по фиксации на временной оси. Лишняя, или не лишняя... От функционала зависит.
50-7d5x > ФОРМЕКС ловит. Это по памяти. Еще есть какая-то ВК по этому поводу, но лень искать.
Ысчо можно свой скринсэйвер написать, чтоб внешнее событие городил ;)

Helen1986 24.04.2013 09:30

Один мыш стал готовиться к атомной войне. Построил бетонный бункер. Притащил туда много-много всякого зерна, сыру, водицы бак... И вот тут как раз на входе столб бетонный вколотили, ни войти, ни выйти... "Ладно", - думает мыш: "Жратвы хватит!" И вот тут то выяснилось, что про туалет-то он забыл...

7d5x 25.04.2013 07:30

51 периодически генерировать окно и если пользовтель не закроет его то через Н минут закрыть программу- идея хорошая. но лучше было бы как то опозновать отсутствие нажатии на клавиши и отсутствие движение мыши...

101 25.04.2013 07:53

жать нада много раз шоб фокус был на окне 1цы
ЗЫ при проведении множества документов есть фича - не успеть попасть между запросо/транзакциями

sinegurochka 25.04.2013 10:16

ту 53
например как-то так можно, изучай для примера:

Перем ЛогФайл;
Перем ВремяТекущее;
Перем ВремяПоследнейАктивности;
Перем ВремяБездействияРазреш;

//---------------------
Функция ВремяЧисло()
Час = 0; Минута = 0;
ТекущееВремя(Час, Минута,);
Возврат Час*60+Минута;
КонецФункции
//---------------------
Процедура КонтрольАктивности()
ВремяТекущее = ВремяЧисло();
ВремяБездействия = ВремяТекущее - ВремяПоследнейАктивности;
Если ВремяБездействия >= ВремяБездействияРазреш Тогда
ЛогФайл.ДобавитьСтроку(""+ТекущаяДата()+" "+ТекущееВремя());
ЛогФайл.Записать(КаталогИБ()+"marker.txt");
ЛогФайл.Открыть(КаталогИБ()+"contrmsg.txt");
ЛогФайл.ДобавитьСтроку(""+ТекущаяДата()+" "+ТекущееВремя());
ЛогФайл.Записать(КаталогИБ()+"contrmsg.txt");
ЗавершитьРаботуСистемы(0);
КонецЕсли;
КонецПроцедуры
//----------------------
Процедура ПриНажатииЛевойКнопки()
ВремяПоследнейАктивности = ВремяЧисло();
КонецПроцедуры
//----------------------
Процедура ПриНажатииКнопкиКлавиатуры()
ВремяПоследнейАктивности = ВремяЧисло();
КонецПроцедуры
//----------------------
Процедура ПриНачалеРаботыСистемы()

ЗагрузитьВнешниеКомпоненты();

....

ЛогФайл = СоздатьОбъект("Текст");

Если ФС.СуществуетФайл(КаталогИБ()+"contrmsg.txt") = 0 Тогда
ЛогФайл.Записать(КаталогИБ()+"contrmsg.txt");
КонецЕсли;
Если ФС.СуществуетФайл(КаталогИБ()+"marker.txt") = 1 Тогда
ЛогФайл.Открыть(КаталогИБ()+"marker.txt");
Предупреждение("Вы были принудительно отключены "+СокрЛП(ЛогФайл.ПолучитьСтроку(1))+" за превышение времени бездействия!"+РазделительСтрок+"Администратору отправлено сообщение, а Вам очередное предупреждение!",15);
ЛогФайл.Очистить();
ФС.УдалитьФайл(КаталогИБ()+"marker.txt");
КонецЕсли;

Если СокрЛП(Константа.ХранитьИсторию) = "" Тогда
Константа.УстановитьАтрибут("ХранитьИсторию","7"); // устанавливаем по умолчанию 7, если не установлен явно 0
КонецЕсли;

ВремяБездействияРазреш = ?(Константа.Таймаут = 0,20,Константа.Таймаут); // разрешено бездействовать в минутах
ВремяТекущее = ВремяЧисло();
ВремяПоследнейАктивности = ВремяТекущее;


Если НазваниеИнтерфейса()<>"Администратор" Тогда
Сервис = СоздатьОбъект("Сервис");
Сервис.ОбработкаОжидания("КонтрольАктивности",?(Константа.Частота = 0,10*60000,Константа.Частота*60000));// частота проверки бездейсвия в миллисекундах
КонецЕсли;

КонецПроцедуры
//----------------------

Azik 25.04.2013 21:17

Сгиньте, семерошники, вместе с Файкой и Султонбеком...

sinegurochka 25.04.2013 21:27

укрепи меня, мудрый Султонбек, и не дай согрешить ни словом ни делом

Helen1986 25.04.2013 21:44

Обоз - это телеги с блекджеком и горшками далеко взади передовых частей

7d5x 29.04.2013 07:54

55/ а где взять процедуру
Процедура ПриНажатииКнопкиКлавиатуры()
...
КонецПроцедуры
как 1с7 определяет наличие нажатия клавиатуры?

sinegurochka 29.04.2013 08:09

эта процедура (как и многие другие) встроена в formex.dll, изучай описание этой внешней компоненты


Текущее время: 03:59. Часовой пояс GMT +3.