Параметры:
<ИмяПроцедуры> (обязательный) Тип: Строка. Имя процедуры, подключаемой в качестве обработчика ожидания.
<Интервал> (обязательный) Тип: Число. Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число).Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.
<Однократно> (необязательный) Тип: Булево. Признак однократного выполнения обработчика ожидания.
Истина - указанный обработчик ожидания будет выполнен один раз. Значение по умолчанию: Ложь
Описание: Подключает указанную процедуру в качестве обработчика ожидания. Процедура будет вызываться в период ожидания системы каждый раз по истечению указанного интервала времени.
Примечание:
Вызов обработчика ожидания продолжается пока форма не будет закрыта или пока не будет вызван метод формы ОтключитьОбработчикОжидания.
Подключает вызов указанной процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля через определенный интервал времени. Вызов будет осуществляться только в "состоянии покоя", то есть в тот момент, когда программа не выполняет никаких действий. Вызов обработчика ожидания продолжается, пока система не завершит работу или пока не будет вызван метод глобального контекста ОтключитьОбработчикОжидания.
Для Формы
Параметры:
<ИмяПроцедуры> (обязательный) Тип: Строка. Имя процедуры, подключаемой в качестве обработчика ожидания.
<Интервал> (обязательный) Тип: Число. Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число). Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.
<Однократно> (необязательный) Тип: Булево. Признак однократного выполнения обработчика ожидания. 0Истина - указанный обработчик ожидания будет выполнен один раз. Значение по умолчанию: Ложь
Описание:
Подключает указанную процедуру в качестве обработчика ожидания. Процедура будет вызываться в период ожидания системы каждый раз по истечению указанного интервала времени.
Доступность:
Толстый клиент. Примечание:
Вызов обработчика ожидания продолжается пока форма не будет закрыта или пока не будет вызван метод формы ОтключитьОбработчикОжидания.
Пример:
Обработка ожидания в системе 1С:Предприятие, как следует из документации, предназначена для периодического выполнения процедуры глобального модуля с заданным интервалом времени. Код для запуска будет выглядеть следующим образом:
Где "ОбновитьСчетчик_" - имя процедуры глобального модуля, которая будет запускаться с периодичностью в 1 сек. (второй параметр, равный 1)
Но! Проблема в том, что запустить обработку ожидания можно только 1 раз. Повторный запуск приведет к отмене предыдущего. Другими словами, если Вы хотите сделать, к примеру, обработку-таймер для отсчета затраченного времени, то запустить можно только один таймер, т.к. запуск второго таймера приведет к остановке первого. А что делать если Вам надо запустить 2, 3 или больше таких таймеров одновременно? Или Вам надо еще при этом периодически сканировать состояние документов?
Выход есть! Обработку ожидания надо запустить в контексте формы, чтобы отделить этот поток от глобального контекста. И тогда станет возможным периодический запуск процедуры локального модуля, т.е. процедуры, расположенной в модуле формы Вашей обработки.
Код для запуска будет выглядеть следующим образом:
Где "ОбновитьСчетчик_" - имя процедуры локального модуля формы обработки, которая будет запускаться с периодичностью в 1 сек. (второй параметр, равный 1)
Таким образом, в каждой обработке можно запустить свою обработку ожидания, которая будет работать до тех пор, пока открыта форма.
В формах можно использовать ,
где ИмяПроцедуры - имя процедуры, которая запускается через ВремяЗапуска секунд
В самой процедуре нужно вставить для прекращения обработки ожидания (естественно, после выполнения нужных условий).
Источник lessons1c
:
Автоматизация обмена между базами используя обработку "Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки "Универсальный обмен данными в формате XML" . Но предлагается вариант автоматизации решения задачи которая позволяет выполнять обмен неквалифицированным пользователям, либо по регламенту. Скажем такой обмен применим если вы не можите по ряду причин использовать РБД, либо совсем разные конфигурации баз (случаи бывают разные, а хочется максимально настраиваемой гибкости).
Вначале безусловно воспользуемся конфигурацией "Конвертация данных" чтобы создать необходимые нам правила обмена (как - это отдельная тема).
Итак Собственно сама ВЫГРУЗКА:
Настройка ОТБОРА:
Тут надо обратить внимание на массив "ВременнаяТаблицаПравил.Строки[1]" и в частности на индекс массива строк,
1 - это ветка "Справочники". Ну и так далее по аналогии
Сдесь вы определяете искомое правило выгрузки которое нужно оставить включенным на определенной ветке (сами можите варьировать чего и сколько)
Теперь настраиваем ОТБОР смысл которого передать в нашу выгрузку ссылку на документ(ты) который(е) хотим выгрузить:
Обработка.ТаблицаПравилВыгрузки = ВременнаяТаблицаПравил.Скопировать();
Ну и собственно запускаем саму выгрузку и получаем файл для загрузки:
Далее процесс загрузки:
Он довольно прост
Расширение .zip для файлов обмена пусть вас не смущает, обработка самостоятельно упакует .xml файл в архив:
И также самостоятельно уже без дополнительных указаний распакует и загрузит. Это существенно уменьшает размеры файла обмена.
Вопрос: У меня добавлен новый пользователь.
Создаю новый интерфейс (копированием существующего) и указываю этот интерфейс в качестве основного для данного пользователя.
Проблема в том, что созданный новый интерфейс почему-то не отображается. Видно только следующие пункты меню: Файл, Правка,Сервис,Окна и Справка.
Подскажите что нужно сделать?
Ответ: надо на этот интерфейс права дать пользователю! Конфигурация-Общие-Роли-РольПользователя открываешь, в ней Общие-Интерфейсы-ТвойИнтерфейс- ТАМ НАДА ПОСТАВИТЬ ГАЛОЧКУ "ИСПОЛЬЗОВАНИЕ"
1. Заходим в УТ - Сервис — Обмена данными с 1С Бухгалтерия 8 — Настройка обмена.
В данном случае файловый вариант. Прописываем путь к базе БП.
2. Один из самых важных параметров Перенос себестоимости списания. Для того, чтобы себестоимость формировалась по данным конфигурации БП выбираем Не переносить, т.к. в конфигурацию БП могут быть введены док которые отсутствуют в УТ. Если выбрать Переносить, то колонки Документ оприходования и Сумма списания в док Реализация будут заполнены данными из УТ.
3. Далее укажем дату начала обмена и префикс документов. Префикс Базы будет прибавляться к Префиксу организации, так что количество символов для нумерации уменьшится. Лучше задавать Префикс базы и Префикс организации из одного символа.
4. Не будем делать полную синхронизацию (не известно сколько времени это займет, да и зачем), а выберем вариант в Фоновом режиме. По кнопке Дополнительно можно изменить количество объектов принудительной синхронизации. Оставим без изменения = 500.
5. По кнопке Готово произойдет создание элемента справочника НастройкаОбменаДанными и элменета Плана обмена. Будет предложено произвести обмен. Жмем НЕТ. На рисунке показан элемент справочника НастройкаОбменаДанными и ссылка на узел, элемент Плана обмена.
6. Теперь, если закрыть все окна, то узел обмена можно зайти Сервис - Обмен данными с 1С Бухгалтерия 8 — Выполнить обмен данными. Изменим правила. Поставим дату обмена с 01.06.2007 и обменяемся малым количеством документов.
7. Пока мы не собираемся включать автообмен и закладки Автообмен и Доп настройки автообмена для нас не важны. Перейдем на закладку Дополнительно. По умолчанию Элементов в транзакции = 0. т.е. при обмене будет записываться каждый элемент по отдельности. Это не оптимально. Вспоминаем, что при Проведении по партиям 1С автоматически предлагает 1000. Выбирайте значение от 200 до 1000.
8. Поскольку это наш первый обмен никакие изменения в базе НЕ зарегистрированы и если мы сразу сделаем обмен, то в него попадут только справочники и регистры сведений. Есть два способа регистрации изменений для выгрузки:
- перепроведение документов,
- обработкой Регистрация изменений для обмена.
9. Поскольку перепровести документы несложно рассмотрим работу с обработкой. Заходим в обработку (как показано на рисунке для релиза 10.3.5 или для релизе 10.3.6 в обработку через интерфейс не зайти, только Операции – Обработка – Регистрация изменений – Обмен данными управление торговлей бухгалтерия) и нажимаем кнопку «Зарегистрировать все – Для всех элементов». Несмотря на то, что изменения зарегистрированы для всех объектов и в табличной части обработки это видно, обмен произойдет с ограничением по дате в Плане обмена, т.е. с 01.06.07.
10. Галочка «Отображать объекты, для кот зарег изм» означает, что под всеми типами объектов обмена (Справочниками, Регистрами, Документами) мы получим ВСЕ ссылки на объекты обмена (например, док Реализация). Если нам необходимо посмотреть какие объекты обмениваются, то можно встав на тип объекта, например, РеализацияТоваровУслуг, нажать кнопку «Показать зарегистрированные изменения данного типа». Даже для демо база показ всех реализаций (их очень мало) подвисает на 1 минуту. Если нужно удалить объект из обмена, в данном случае документ Реализации, то нажимаем Ctrl + C.
11. В нашем случае уже все изменения зарегистрированы. Информация для ознакомления: есть возможность по кнопке «Добавить документы для обмена». Например, Расходный кассовый ордер. При этом программа предложит зарегистрировать все объекты данного типа (т.е. все Расходные кассовые ордера). Ответив «НЕТ» получим возможность подобрать документы вручную.
12. И еще маленький нюанс. Кнопка «Изменить номера» сообщений изменяет порядковый номер обмена. Это нужно если мы восстановили базу из архива и, соответственно, нумерация сообщений там будет старая.
13. Нажимаем «Выполнить обмен». При этом в базе БП можно работать. Все документы загружаются не проведенными.
14. После первого обмена, если зайти в Регистрацию изменений для обмена то можно увидеть, что все наши объекты так и остались зарегистрированными для обмена. Се ля 1С. Только после проведения второго обмена объекты уйдут из регистрации (т.е. база УТ получит подтверждение о том, что объекты успешно загружены в БП). Так, что нажимаем Выполнить обмен еще раз.
15. Теперь в базе БП у нас появились не проведенные документы. Заходим в БП Сервис – Проведение документов – выбираем “Проведенные и непроведенные” и период. Здесь внимательно. Надо предупредить пользователей, что сделать документ не проведенным не достаточно. Не нужные документы необходимо, помечать на удаление, а еще лучше регулярно удалять.
16. Не забывайте, если вы удалите «Узел обмена», то в базе останется «План обмена» и привязанный к нему регистр сведений «Соответствие объектов для обмена» останется целым. Регистр придется удалять как-нибудь самим. Такова воля создателя обмена.