Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Пауза на форме 2 страниц V   1 2 >          
Nikitaje Подменю пользователя
сообщение 12.02.21, 14:30
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

Всем привет друзья. Конфа самописная. Управляемые формы 8.3
Выполняется фоновое задание, процесс идет польователь работает. при ходи выполнение пишуться документы.
Пользователь увидел ошибку, и хочет приостановить задание сделать ручные дейтвия и возобновить с момента остановки.
Скажите пожалуйста это возможно вообще?

sava1 Подменю пользователя
сообщение 12.02.21, 14:37
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

прервать - да, возобновить - геморно (зависит от задания). Надо сохранить все параметры и запускать задание с другими параметрами

Nikitaje Подменю пользователя
сообщение 12.02.21, 15:05
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

sava1 @ Сегодня, 14:37 * ,
Идет перебор XML, на основании их пишеться документ.
Я хочу добавить кнопку "Пауза"
Паузу поставил кое что сделал. Продолжил. Идет дальше перебор

Вот только что пришла в голову идея.

Добавляем кнопку пауза.

В цикле когда все пишеться добавляем условие, проверяет нажатие нопки пауза, при нажатии кнопки пауза флаг ставиться истина его и проверяем.
еще цикл - ресурсозатрадо но для развития мысли пойдет.
это бессконечный цикл который проверфяет стоит флаг истина или нет. Но тогда форма замерзнет.
Делать еще фоновое задание с бессконечным циклом. А есловия выхода ну, придумать осталось


Nikitaje @ Сегодня, 14:41 * ,

Придумал. Поправте если не так.
Создаем реквизит формы булево
Создаем кнопку на форме пауза.
Кнопка нажата истина нажата повторно ложь

Фоновое задание началось.
Длительный цикл

Начало

код

условие если кнопка нажата
бессконечный цикл
начало
условие проверки этого реквизита если ложь тогда заканчиваем цикл идем дальше по коду.

Конец

код

конец


Как считаете, нормально или можно сднлать по лучше?

logist Подменю пользователя
сообщение 12.02.21, 16:18
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Nikitaje @ 12.02.21, 14:30) *
Выполняется фоновое задание

с фоновым заданием не сделаете, потому что пока пользователь нажмет на кнопку фоновое задание уже далеко уедет, и по сути ФЗ будет выглядеть как обычный цикл, потому что каждый раз будет вынуждено проверять "нажатие", вообще не пойму зачем вы уперлись в ФЗ. Фоновое задание это то, что должно выполнится в фоне, без действий пользователя.
Это можно сделать без фонового задания - каждый документ обрабатывается отдельно в цикле, цикл начинается с проверки флага остановки по ошибке, именно флага который будет установлен до запуска. Ждать нажатие пользователя который визуально видит происходящее это глупость.
Сделайте простой цикл с кнопкой, и попробуйте нажать при выполнении - вы не сможете этого сделать, разве что у вас жутко медленный комп и меганагруженная обработка.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Nikitaje Подменю пользователя
сообщение 12.02.21, 16:45
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

logist @ Сегодня, 16:18 * ,
Хорошо отошли от фонового задания.
Внешняя обработка, выполняет какой то код. Пошли писать документы.
На десятом документе пользователь хочет нажать паузу и сделать другие документы.
Но форма уже замерзла, Я не могу в ней нажимать

Или это задача не решается?

Задача,
есть обработка она выполняет код. Пишет документы из xml.
Пока пишет все вкладки встали, пришел клиент говорит Мне надо что то там сделать. Вкладки уже все в заморозке сделать ничего нельзя, можно вызвать прирывания пользователя, но нужно начать с того места где Мы остановились

Nikitaje @ Сегодня, 16:37 * ,
[необходимо зарегистрироваться для просмотра ссылки]

logist Подменю пользователя
сообщение 12.02.21, 17:01
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Nikitaje @ 12.02.21, 16:45) *
На десятом документе пользователь хочет нажать паузу и сделать другие документы.

Зачем он хочет нажать паузу? У вас проблема видимо не в 1С, а в неправильно организации работы


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Nikitaje Подменю пользователя
сообщение 12.02.21, 23:12
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

logist @ Сегодня, 17:01 * ,
Пользователю нужен контроль при выполнении.
Есть ли варианты вообще как можно поставить на паузу или нет?
Я пока такого не встречал, вот и хотелось понять и уточнить

logist Подменю пользователя
сообщение 13.02.21, 0:04
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Nikitaje @ 12.02.21, 23:12) *
Пользователю нужен контроль при выполнении.

Контроль чего? Заложите условия проверки в код, флажок "Останавливаться по ошибке", цикл, по ошибке останавливается, далее кнопка продолжить. Предварительно загружаете файл в таблицу, чтобы понимать какие строки уже обработались.
Если пользователь хочет в процессе что-то визуально контролировать, то это утопия, для таких случаев создают визуальную таблицу куда всё грузят, пользователь просматривает и потом выполняется загрузка данных.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Nikitaje Подменю пользователя
сообщение 13.02.21, 5:06
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(logist @ 13.02.21, 0:04) *
Контроль чего? Заложите условия проверки в код, флажок "Останавливаться по ошибке", цикл, по ошибке останавливается, далее кнопка продолжить. Предварительно загружаете файл в таблицу, чтобы понимать какие строки уже обработались.
Если пользователь хочет в процессе что-то визуально контролировать, то это утопия, для таких случаев создают визуальную таблицу куда всё грузят, пользователь просматривает и потом выполняется загрузка данных.

Что делать в случае, что документов много и они грузяться замораживая. Форма замерзла а нужно выполнить какие то работы?
Как быть в этом случае.
Операция длиться 15 минут, после 5 минут выполнения к пользователю пришли сказали нужно кое что сделать.
А операция как необратимая термоядерная реакция уже идет.
Я бы хотел внедрить что нибудь, что могло приостановить выполнение.
Ну как на C#. При копировании можно поставить паузу, и код запуститься с того момета где Я поставил паузу

logist Подменю пользователя
сообщение 13.02.21, 5:34
Сообщение #10

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

У вас в топике написано - "пользователь увидел какую-то ошибку", теперь выясняется что надо делать что-то другое в базе, через пару дней узнаем еще какие-то подробности, которые в корне меняют суть проблему? smile.gif

Цитата(Nikitaje @ 13.02.21, 5:06) *
а нужно выполнить какие то работы?

открыть второй сеанс 1с.

Цитата(Nikitaje @ 13.02.21, 5:06) *
Я бы хотел внедрить что нибудь, что могло приостановить выполнение.

Зачем? У вас же задача чтобы пользователь мог выполнять что-то еще, или таки не эта задача?
В общем не понятно, чего вы вцепились в эту паузу, фоновое задание выполняется в фоне и не блокирует интерфейс, посмотрите как сделаны типовые отчеты в актуальных конфигурациях, там можно запустить отчет и заниматься другими задачами в этом же сеансе.



Signature
Личные бесплатные консультации не даю, для этого есть форум!

Nikitaje Подменю пользователя
сообщение 13.02.21, 10:19
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(logist @ 13.02.21, 5:34) *
У вас в топике написано - "пользователь увидел какую-то ошибку", теперь выясняется что надо делать что-то другое в базе, через пару дней узнаем еще какие-то подробности, которые в корне меняют суть проблему?

Да Я пидумываю действия. Пользователю нужна кнопка пауза.
Варианты действий зачем разные, заполнить что другое, выпустить отчет да что угодно.

Я правильно вас понимаю, сделать эту обработку как фоновую и не думать вообще об кнопках паузы?

logist Подменю пользователя
сообщение 13.02.21, 12:03
Сообщение #12

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Nikitaje @ 13.02.21, 10:19) *
Я правильно вас понимаю

да, с вероятностью 99,9%


Signature
Личные бесплатные консультации не даю, для этого есть форум!

fly Подменю пользователя
сообщение 13.02.21, 12:33
Сообщение #13

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Nikitaje @ Сегодня, 10:19 * ,
Цитата(Nikitaje @ 13.02.21, 10:19) *
Варианты действий зачем разные, заполнить что другое, выпустить отчет да что угодно.



- ну так и действия тогда разные в таком случае:
"заполнить что другое" - пользователь открывает что "заполнено" - это что = в 1С это существует Обект (Документ, Справочник) и его пользовательская Форма (которая позволяет менять непосредственно объект).
Когда не описано а) источник данных, б) процедура получения данных из источника, в) результат получения данных из источника, г) следующий этап обработка полученных данных по описанным правилам, д) результат обработанных данных, е) потом куда должен записаться этот результат и с какими условиями и т.д. - на ваш вопрос будет Много разных ответов, которые либо ни о чем, либо о чем угодно, но только не ваш случай.

"выпустить отчет" - тут как бы странно звучит, так как отчет "выпускается" = берет данные из БД и отображает на форме или в Табличный документ, или Таблицу и т.п.. Он служит для отображения данных в БД в удобном виде для анализа - своя классификация, группирока и т.п. Смысла его не выпускать как бы нет - ты или формируешь отчет или нет, и принимается решение до момента "выпустить".



Цитата(Nikitaje @ 13.02.21, 10:19) *
Я правильно вас понимаю, сделать эту обработку как фоновую и не думать вообще об кнопках паузы?

Да можно и в фоновое задание, и если очень захотеть и прерывать, только ответ "Да думайте" - "Нет не думайте", зависит от задачи, а сама задача ну явно не расскрыта - что приводит к правильностилюбого из выбранных вариантов.

Цитата(Nikitaje @ 12.02.21, 14:30) *
Пользователь увидел ошибку, и хочет приостановить задание сделать ручные дейтвия и возобновить с момента остановки.

нужно ли делать (тема "Пауза на форме") - Кто работает с данными, а в 1С - это много обычно данных, приходят чаще к выводу - после заполнения данных - к примеру на форму в таблицу, откорректировать на этой форме эти полученные данные и потом записать в базу.

Сообщение отредактировал fly - 13.02.21, 12:37

Nikitaje Подменю пользователя
сообщение 15.02.21, 11:44
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(fly @ 13.02.21, 12:33) *
"выпустить отчет" - тут как бы странно звучит, так как отчет "выпускается" = берет данные из БД и отображает на форме или в Табличный документ, или Таблицу и т.п.. Он служит для отображения данных в БД в удобном виде для анализа - своя классификация, группирока и т.п. Смысла его не выпускать как бы нет - ты или формируешь отчет или нет, и принимается решение до момента "выпустить".

Может быть неправильно выразился. Сформировать.
Цитата(fly @ 13.02.21, 12:33) *
ама задача ну явно не расскрыта - что приводит к правильностилюбого из выбранных вариантов.


Есть обработка, она считывается xml файлы, создает на основе этого докуметы записывается проводит.
Иногда это затягивается и выполняется долго, и нужна другая работа. Формировать отчеты, списывать что нибудь.
Пользователь попросил "Сделать паузу", создать кнопку по ней нажал все остановилось. Поработал, включил дальше

29a Подменю пользователя
сообщение 15.02.21, 15:06
Сообщение #15

Говорящий
***
Группа: Пользователи
Сообщений: 94
Спасибо сказали: 31 раз
Рейтинг: 33.3

Цитата(Nikitaje @ 13.02.21, 10:19) *
Я правильно вас понимаю, сделать эту обработку как фоновую и не думать вообще об кнопках паузы?

ИМХО учитывая, что:
Цитата(Nikitaje @ 15.02.21, 11:44) *
Есть обработка, она считывается xml файлы, создает на основе этого докуметы записывается проводит.

Пауза не нужна, если обработка при формировании/проведении документов не будет блокировать таблицы во время параллельной работы пользователей.

Если обработка будет мешать работать пользователям (не зависимо от того, в фоне она работает или на клиенте), самое простое, добавить флаг на приостановку работы.
Вариант 1 - флаг проверяется в вечном цикле, как было написано ранее
Вариант 2 - при установке флага, закончить формирование текущего документа, запомнить номер обрабатываемой строки, прервать выполнение, при повторном старте, начать загрузку с номера строки на которой прервали работу.


logist Подменю пользователя
сообщение 15.02.21, 15:58
Сообщение #16

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Nikitaje @ 15.02.21, 11:44) *
Пользователь попросил "Сделать паузу", создать кнопку по ней нажал все остановилось. Поработал, включил дальше

Ваша проблема в том, что вы не вникаете в суть того что на самом деле нужно пользователю, а делаете прямо то что сказано. Это чревато частыми переработками в будущем, ну и собственно тратой времени на попытку реализации того что тут обсуждается.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

fly Подменю пользователя
сообщение 17.02.21, 15:15
Сообщение #17

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Цитата(Nikitaje @ 15.02.21, 11:44) *
Пользователь попросил "Сделать паузу", создать кнопку по ней нажал все остановилось. Поработал, включил дальше


можно сделать и паузу - только сущность в том, что паузу нужно сделать на чем то,
а это "что-то" вами не описано.
Интерпретация - "есть обработка" которая получается данные из XML и записывает Объекты в базу, ну никак не описание (там между Файл на рабочей станции в формате XML ------> Данные в базе - есть еще куча всего насанного в этой обработке и платформе).


Nikitaje Подменю пользователя
сообщение 20.02.21, 2:28
Сообщение #18

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(fly @ 17.02.21, 15:15) *
можно сделать и паузу - только сущность в том, что паузу нужно сделать на чем то,

Паузу в форме нашей обработки.
ЧТобы было понятнее.
ЗАпустили обработку.
ЗАгрузка пошла, дальше вот хочется паузу сделать. Приостановить действия обработки. Действия пользователя Мне кажется не нуждаются в дополнении.
Пользователь захотел сделать паузу, хочет чтобы форма разблокировалась, он мог делать любые действия какие хочет. ФОрмировать отчеты, заполнять номенклатуру.
Паузу требуется сделать, чтобы форма разморозилась для выполнения других действий на платформе. Каких? Да разных. Это суть задачи не меняет никак

logist Подменю пользователя
сообщение 20.02.21, 3:43
Сообщение #19

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Nikitaje @ 20.02.21, 2:28) *
чтобы форма разморозилась для выполнения других действий на платформе

Выполнение в фоновом задании не "замораживает" форму.

p.s. Вы если не читаете или не воспринимаете, что вам пишут - сообщите как-то об этом, чтобы люди зря не напрягались.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

fly Подменю пользователя
сообщение 20.02.21, 9:37
Сообщение #20

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Nikitaje @ Сегодня, 2:28 * ,
Цитата(Nikitaje @ 20.02.21, 2:28) *
Паузу в форме нашей обработки.
ЧТобы было понятнее.


Если вопрос в этом - добавьте кнопку "Пауза".

Сообщение отредактировал fly - 20.02.21, 9:39

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 23:33
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!