- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
Процедура ЗаписатьТрижды(Док)
Попытка
Док.Записать();
Исключение
Для ХХХ=1 По 1000 Цикл
УУУ = ХХХ;
КонецЦикла;
Попытка
Док.Записать();
Исключение
Для ХХХ=1 По 1000 Цикл
УУУ = ХХХ;
КонецЦикла;
Попытка
Док.Записать();
Исключение
Сообщить("И с третьей попытки не удалось записать документ "+Док);
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПопытки;
КонецПопытки;
сказал Кащей Бессмертный и изнасиловал Ивана Царевича
Да, с задержками в одноэске всё плохо. Глобально.
Ради интереса спросил у гугола, нашёл статью, цитирую: "В данном коде в качестве программной задержки (аналог sleep) используется функция Предупреждение. Результат работы этой функции - появление модального окошка с приостановкой работы кода. Длительность паузы регулируется вторым параметром этой функции, а именно 30 сек в данном случае. В течении времени задержки процесс практически не потребляет ресурсы цп, что и требовалось."
Объебосы, самые натуральные.
А вот ещё, практически классика жанра.
поэтому в 1с нет задержек и не будет, и конфигурации всегда работают со скоростью света в вакууме
кто много sleep тот видит только сны
>СОМ
Лучше бы он не циклами кривыми железяку напрягал, а вопрос/предупреждение с таймаутом использовал.
Быдлоплатформопроблемы.
в случае неудачной попытки - задать вопрос о повторе попытки - это сосем не "унылый костыль". но именно уместное в таком случае действие. в данном. конкретном. случае.
и - немого жаль, что задор в традиционном (и уже давно унылом) поливании этой конкретной платформы г0вн0м "просто потому что это быдлоязык" застит тебе элементарную логику.
(о том, что sleep в одинэсине нету, и что для этого нужны костыли - я, кстати, ни полуслогом не отрицал и не отрицаю, сюрпраайс)))
Во-вторых, задержка может быть нужна не только при ожидании следующей попытки записи. Надо просто поспать, пока произойдёт что-то, скажем, оборудование продрочится. Смищно будет созерцать вылезающее окошко "подождите, мы сейчас 20 секунд постоим на всякий, а то вдруг".
И, последнее. Сам факт такого окошка показывает, что в консерватории что-то не так. Хотя бы потому, что пользователь может нажать "отмена", а такое по условию задачи, скажем, недопустимо. После третьей попытки - пожалуйста. Или нажмёт "продолжить" раньше. Бред, короче говоря.
> поливании этой конкретной платформы г0вн0м
Так я же не на ровном месте это делаю. Я нонче быдлопейсатель на сем быдлоеретическом языке (сюрпрайз!).
Я видел чёртову гору языков и платформ (кроме, разве что, лиспов, шарпов и брейнфаков). В каких-то провёл радостные минуты, в каких-то суровые дни. Какие-то лучше, какие-то не очень.
Так вот. 1С - это ПИЗДЕЦ. Большой, злоебучий и инфернальный пиздец. В человеке должно быть прекрасно всё, и душа и тело. 1С умудряется быть ужасным по всем фронтам.
Семёрке я делаю скидку на то, что ей уже стопицот лет, что у них не было денег на рахитектора, писали на коленке Вижуалъ Русскийъ Паскальъ для упоротых бухгалтеров, совершенно не представляя, что же должно получиться в итоге. Долгожительство же имеет свои весомые причины, которые завязаны на достоинства лишь отчасти.
Сложно найти более упоротую, проприетарную, несовместимую ни с чем, ФГМную, слоупоучную быдлоплатформу. Даже тот же ПХП - просто рай на земле.
И, последнее. Сам факт окошка (хоть с предупреждением и единственной кнопкой Ок, хоть с вопросом) - хоть ты обобжимайся - нихрена не прервет если соответствующим образом наваять Не, это было предпоследнее. Последнее - сожаление о твоей идиосинкразии. Потому что реплика о вопросе и длгичности использования именно в этой ситуации - почему-то благополучно миновала внимание твоего разума возмущённого, что, однако, тоже добавило забавности.
Бред, короче говоря, ага. ))
Успокойся уже. Ты выиграл ПРИЗ - компас, стрелка которого безошибочно и уверенно показывает направление "нахуй".
ЗЫ: и - да, извини, пионЭр, но в дальнейшем можешь не трудить свой организм высиранием комментариев, обращенных ко мне. Ибо ты глуп и просто неинтересен - в связи с чем твои обращения ко мне, вероятнее всего, просто благополучно минуют внимание адресата.
1с съело твой моск.
Если программка для тёток бухгалтерш, то лучше окно и таймер, если серверная, то в цикле эн раз попытаться записать.
Спор про бузину и дядьку.
говорю же - в фоновых задачах для этого вполне себе нормально юзается выполнение нужного кода в виде вызова процедуры с заданным интервалом (в т.н. обработке ожидания).
Собственно, такая ситуация не впервой. Для системы, состоящей из спичек, желудей и говна - вообще рядовая.
обработка ожидания.
а также уже упомянутые вопрос/предупреждение с таймаутом.
при наличии которых "чистый" слип может быть нужер разве что "из принципа" и ради растопыренных пальцев.
Обработка ожидания ни разу не эмулирует слип. И в данном случае (ожидание отклика, скажем, девайса) никоим образом не помогает. Плюс, мне в самом страшном сне не могло привидеться писать код своего слипа в глобальном модуле. Таймаут через окошко - просто охуенное архитектурное решение.
Так что перестань нести хуйню. 1с - недоязык для ундерменов. Тот факт, дедушка, что ты считаешь себя гуру, никоим образом этого не изменит и не уймёт твоей жопоболи.
обработка ожидания вполне себе эмулирует повтор выполнения кода с нужным интервалом, безграмотное ты чмо и быдлокодер.
"классический" слип не ждет никаких откликов, безграмотное ты чмо и быдлокодер.
по обработке ожидания может вызываться код не только в глобальнике, безграмотное ты чмо и быдлокодер.
Про свое спокойное отношение к обоснованным и просто традиционным набросам на 1с я уже говорил. Равно как говорил и о том, каким образом отношусь к подобным тебе долбоёбам, которые будучи сами безграмотными пионЭрами - тем не менее лезут публично чесать множественные ущемлённые грыжи на собственном комплексе неполноценности.
Уймись уже, пацан, а то на "самдурак" циклишься, приписывая свою попоболь другим, и лажаешься постоянно.
> Обработка ожидания ни разу не эмулирует слип
> обработка ожидания вполне себе эмулирует повтор выполнения кода с нужным интервалом
я даже погуглил, чтобы закончить этот балаган
http://www.lessons1c.ru/articles/25-obroj.html
ваша "обработка ожидания" - простейший унылый таймер с привязкой к контексту. Sleep и таймер - это две большие разницы.
> "классический" слип не ждет никаких откликов
Sleep останавливает текущий поток до того момента, пока планировщик не разбудит или не произойдёт преждевременное прерывания сна. Это мало чем отличается от ожидания поступления данных от устройства: вместо данных ожидается наступление определённого момента времени. Основное отличие в том, что поступления данных в обычной ОС с разделением времени можно ждать бесконечно.
а вообще в одном ты глобально прав. однопоточная она, ссука. поэтому и терминологическая путаница наблюдается иногда.
> по обработке ожидания может вызываться код не только в глобальнике
"Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени."
Сосни бочку хуйцов. Соснул? Молодец. Полноценный, ёпта.
Форма.ОбработкаОжидания ( http://www.lessons1c.ru/articles/25-obroj.html )
говорю же тебе, быдлокодер, хватит гавкать - только лажаешься.
С 8-кой немного сложнее всё. точнее - есть хелпы, но по объему явно недостаточные; а свисителок-перделок в ней накручено столько, что полноценный мануал - это нехилый стопарь метод.материалов.
1. Документ "подвисает" при записи из-за блокировки базы другим пользователем (ну типа там кто-то что-то проводит)... Предприятие само будет ждать столько времени, сколько указано в настройках.
2. Документ не может быть записан либо по неуникальности номера (что по хорошему надо проверить до попытки записи!), либо по "отсутствии места" на временном интервале (было такое, когда время устанавливалось на 23:59:59 и после какого-то документа обработка "встала колом"... И ты хоть 10 раз пытайся записать его...
Окаменелые какашки маммонта!