[1] [2] |
тебе уже объяснили, как аккуратно остановить отчёт |
(37): "скрипач не нужен". посто ГП не нужна. (нет, на восьмерку не агитирую) |
(39) можно прервать по ескейпу. Ничего катастрофического при этом не произойдет. Если до этого данные в базе были недостоверными (но устраивающими персонал) - то после эскейпа данные также будут недостоверными (возможно, чуток изменятся) и скорее всего точно также будут устраивать тех, кто их смотрит. . все зависит от того, что именно и как сильно было изменено в заднем числе - там, куда откатилась ГП. все заисит от того, какие данные на сейчас интересуют персонал. ВСЕ ЗАВИСИТ ОТ КУЧИ ФАКТОРОВ. прога не может учесть все наши соображения в голове и наше видение учета. Поэтому она поступает жестко - фиксирует сам факт и предлагает пересчитать ВСЕ, гарантируя при этом что на выходе будут достоверные данные. . но никто не запрещает перенести ГП на сейчас, вообще не пересчитывая данные. |
И что бы кто бы здесь не трындел что ГП не нежна или можно обойтись без нее - все это трындеж. Можно обойтись без ГП, но при этом будут существовать другие механизмы обеспечивающие НЕПРОТИВОРЕЧИВОСТЬ И ДОСТОВЕРНОСТЬ ДАННЫХ. Причем не в бухгалтерском смысле когда похрен что там в меясце/квартале твориться - главное чтобы на конец отчетного месяца данные были похожи на достоверные, а в смысле непротиворечивости и достоверности учетных и фактических данных на всем временном отрезке их сущестования. . Поэтому там, где работа идет И ДОЛЖНА ИДТИ в режиме реального времени - проблемы ГП, восстановления, заднего числаи прочего - не существует. Эти проблемы начинаются там, где начинается учет эфемерных сущностей - себестоимостей, оторванных от реальности партий, виртуальных возвратов, вычерков и прочей [filolog]хуйни[/filolog]. |
глВосстановлениеПоследовательности(ВыбПоследовательность) |
(39) ГП в данном контексте перераспределяет партии и оплаты ... если оно нужно то думайте сами ... |
(44) умный, да? достоверности захотел без ГП. Сказано - белочка, вот и ищи ее |
(46): нихрена она не перераспределяет. перепроведение от самого первого откорректированного задним числом - да, перераспределяет (а если с умом сделать - то оптимально по ресурсозатратам). а ГП (по крайней мере в дефолтном виде) - это лишняя сущность. |
Останавливаю восстановление ГП по: 1 - внешнее событие, в т.ч. обработка клавиатуры, мыши 2 проверкой изменения файловой системы 3 запуск обработки в таймере и завершение таймера и др |
блин чтобы корректно остановить цикл Перепроведения проверяю заход в программу нового пользователя и удается адекватно остановить цикл. Скажите как точно узнать время бездействия пользователя чтобы аккуратно его сеанс закрыть??? |
48-Cthulhu > ГП есть фактическая последовательность документов. Не хронологическая по фиксации на временной оси. Лишняя, или не лишняя... От функционала зависит. 50-7d5x > ФОРМЕКС ловит. Это по памяти. Еще есть какая-то ВК по этому поводу, но лень искать. Ысчо можно свой скринсэйвер написать, чтоб внешнее событие городил ;) |
Один мыш стал готовиться к атомной войне. Построил бетонный бункер. Притащил туда много-много всякого зерна, сыру, водицы бак... И вот тут как раз на входе столб бетонный вколотили, ни войти, ни выйти... "Ладно", - думает мыш: "Жратвы хватит!" И вот тут то выяснилось, что про туалет-то он забыл... |
51 периодически генерировать окно и если пользовтель не закроет его то через Н минут закрыть программу- идея хорошая. но лучше было бы как то опозновать отсутствие нажатии на клавиши и отсутствие движение мыши... |
жать нада много раз шоб фокус был на окне 1цы ЗЫ при проведении множества документов есть фича - не успеть попасть между запросо/транзакциями |
ту 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));// частота проверки бездейсвия в миллисекундах КонецЕсли; КонецПроцедуры //---------------------- |
Сгиньте, семерошники, вместе с Файкой и Султонбеком... |
укрепи меня, мудрый Султонбек, и не дай согрешить ни словом ни делом |
Обоз - это телеги с блекджеком и горшками далеко взади передовых частей |
55/ а где взять процедуру Процедура ПриНажатииКнопкиКлавиатуры() ... КонецПроцедуры как 1с7 определяет наличие нажатия клавиатуры? |
эта процедура (как и многие другие) встроена в formex.dll, изучай описание этой внешней компоненты |
Текущее время: 03:59. Часовой пояс GMT +3. | [1] [2] |