1с закрыть форму программно

Обновлено: 06.07.2024

1С 7.7 Комплексная ред. 4.5 (7.70.493)
Пишу док.закрыть(), выскакивает ошибка - Поле агрегатного объекта не обнаружено (закрыть).

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

закрыть документ ексель
Такая проблема, отчета открывает документ эксель делает в нем кое-какие изменения, как при выходе.

Программно создать документ
доброго времени суток! пишу программу на делфи, которая будет работать с 1с. не могли бы вы помочь.

Программно закрыть отчет или обновить
Здравствуйте. Работаю в конфигурации Бухгалтерия предприятия, редакция 2.0 (2.0.43.6) на.

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

Добрый день!
Функция Закрыть() работает только для формы документа и применение её актуально в том случае если вы открыли форму документа.
Если же вы создаете документ программно и так программно заполняете документ данными то в таком случае достаточно использовать функцию Записать()
например:

Вот примерно так!

Мне нужно из обработки записать изменения в документ. Всё работает. Я хотела бы, если документ открыт, с помощью программы его закрыть, и записать изменения. Только не знаю с помощью какой функции это сделать.

То есть если вас правильно понял, нужно документ принудительно закрыть, если он открыт у кого нибудь из пользователей? То есть если вас правильно понял, нужно документ принудительно закрыть, если он открыт у кого нибудь из пользователей? Никак. Штатно - никак. Посему и запись документа рекомендуется обрамлять в Попытку. В 7.7 не возможно отловить факт блокировки данных кем-то из пользователей, кроме как через исключения. Потому как живность эта подключается к базе данных одним пользователем. Пользователи 1С:Предприятие - это НЕ пользователи базы данных. О них даже записей в БД ВООБЩЕ НЕТ. А вам это зачем?
Если что-то разовое - заходите монопольно и никто кроме вас ничего не откроет
Если постоянно, то интересно ради чего это надо Запись без закрытия формы документа, открытого другим пользователем? Готично! 1С не даст этого сделать! Снятие блокировки и закрытие формы документа у другого пользователя возможно сделать. Дописать конфигурацию самую малость и можно будет закрывать форму документа у соседа. Ничего сверхестественного в этом нет. Darlock, а я где-то хоть словом обмолвился, что этого нельзя сделать? Вот только возникает вопрос, надо ли это делать?

Суть такая: нужно реквизиту документа присвоить значение.

Можно, конечно, изменения внести в сам модуль формы документа. Но изменений получается много и при обновлении их придётся постоянно вносить.
Обработка специальная для записи значения не писалась, просто в некую обработку (внешний отчёт) добавлены изменения. Чтобы записать изменения в документ придётся вернуться и его закрыть (документ открывает и обработку запускает один пользователь).

При записи изменений в конфигуратор нужно будет вносить изменения при обновлении и проверять правильность записи значения. Изменения внесённые в обработку упрощают это.

Снятие блокировки и закрытие формы документа у другого пользователя возможно сделать. Дописать конфигурацию самую малость и можно будет закрывать форму документа у соседа. Ничего сверхестественного в этом нет. Darlock, а как дописать?
Расскажи, пожалуйста! Очень заинтригован, особенно, если это DBF! Возможно, и есть ли вообще функция в 1C проверка закрытия программы?? ("Закрыть программу?")

Я вот задумался - а как бы это сделать. Получилось примерно так - делается константа СписокНаЗакрытие, тип - строка, длина неограничена.

для закрытия вешаем на список документов кнопочку с процедуркой

процедура ВнестиВСписокНаЗакрытие()
Если СокрЛП(Константа.СписокНаЗакрытие) = "" тогда
Спс = СоздатьОбъект("списокЗначений");
иначе
Спс = ЗначениеИзСтроки(Константа.СписокНаЗакрытие);
КонецЕсли;
Спс.ДобавитьЗначение(ТекущийДокумент);
Константа.СписокНаЗакрытие = ЗначениеВСтроку(Спс);
КонецПроцелдуры

В форме документа пишем процедурку
Процедура ЗакрытьПоЗапросу()
Если СокрЛП(Константа.СписокНаЗакрытие) = "" тогда
Спс = СоздатьОбъект("списокЗначений");
иначе
Спс = ЗначениеИзСтроки(Константа.СписокНаЗакрытие);
КонецЕсли;
Нашли = Спс.НайтиЗначение(ТекущийДокумент());
Если Нашли >0 Тогда
Спс.УдалитьЗначение(Нашли);
Форма.Закрыть(0);
КонецЕсли;
КонецПроцедуры

и чтобы это работало раз в скажем 5 секунд в приОТкрытии() добавляем строчку

раз в пять сек буду всех пользователей с открытыми документами этого типа будет вызываться процедура ЗакрытьПоЗапросу() получать список документов на закрытие, если нашел себя - то закрываться без запросов.

Открыть программно созданный документ
Написал обработку по вводу платежек и выписки на основании доков на поступление ТМЦ. После записи.

Программно указать документ-основание в восьмерке
Не подскажете? А то я не нашел в документации. Или может плохо искал?

Программно сохранить документ с программно созданными реквизитами
Помогите кто знает как сохранить в Управляемом приложении (Управляемая Форма) документ с программно.

Модифицированность (Modified)
Использование: Чтение и запись.
Описание: Тип: Булево. Признак изменения (модифицированности) данных в форме.
Модифицированность отображается символом (*) в заголовке окна формы.
Истина - изменена.

Разместил: E_Migachev  Версии: | 8.x | 8.2 УП |  Дата: 21.01.2013   Прочитано: 34607

Распечатать

Похожие FAQ

1С Предприятие что это?  11
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое База 1С при запуске уходит в дамп и вылетает  1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C  3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Загрузка картинок в базу 1С (сохранение в хранилище значений)  8
В теме форма: v8: Получение данных из ХралищаЗначений Bell в управляемом интерфейсе пробует сохранить выбранные картинки в базу 1С, но возникли сложности с сохранением в хранилище значений. как пример Bell приложил CF файл с мини конфигурацией, Запись во внешний источник данных из 1С 8.2   3
Начиная с платформы 8.2.14 в 1С появилась коллекция " Внешние источники данных ". Использование объектов этой коллекции позволяет работать с внешними данными через ODBC. Стандартные механизмы платформы позволяют просматривать данные и использовать и Посмотреть все результаты поиска похожих

Еще в этой же категории

Как обновить динамический список или реквизит на форме клиента?  19
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список

Как на управляемой форме разместить список регистра сведений с отбором?  18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка?  14
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Как это было в обычных формах:

Окна-закрыть всё

Цепочка действий

Выходим в меню/Окна/Все окна (уже 3 нажатия, но это еще не всё)

Окна-закрыть всё часть 1

Окна-закрыть всё часть 2

Окна-закрыть всё часть 3

Программное закрытие всех форм

Окна = ПолучитьОкна();
Для Каждого Окно Из Окна Цикл
Если Не Окно.Основное Тогда
Для каждого Форма из Окно.Содержимое Цикл
Форма.Закрыть();

КонецЦикла;
КонецЕсли;
КонецЦикла;

Этот код закроет все окна кроме файлов созданных средствами 1С: текстовых,табличных документов, открытых через Показать() .

С версии 8.3.8 при закрытии нельзя вызывать серверные процедуры, данный вариант закрытия всех ПередЗавершениемРаботыСистемы в приложении не позволяет обойти ошибку.

Резюме:

Посчитайте сами: сколько лишних действий по банальному закрытию всех окон.

Люди кончают самоубийством оттого, что получают по почте одну рекламу.

— Фредерик Бегбедер

В этой статье я разберу особенности программного открытия обработок в 1С. Мы узнаем, как открыть форму обработки, как открыть форму внешней обработки из самой внешней обработки, а также как открыть форму внешней обработки из клиентского режима платформы 1С 8.3.

Открыть форму обработки 1С

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

В первой статье, в которой мы начали знакомиться с обработками в 1С, я создал обработку «Обработка для примера» с формой.

В этой статье я покажу, как открыть программно форму этой обработки из другой обработки «Обработка1». Для этого у Обработки1 я создал управляемую форму и команду формы.

Обработка 1С и форма обработки 1С

В клиентском обработчике команды, напишем код, который будет открывать основную форму обработки.

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

Обработка 1С и форма обработки 1С

После, в результате выполнения команды, в отдельном окне будет открываться форма обработки «Обработка для примера».

Обработка 1С и форма обработки 1С

Открыть форму внешней обработки 1С

Если нам необходимо, чтобы из одной формы внешней обработки открылась другая форма этой же внешней обработки, то также необходимо использовать метод ОткрытьФорму, как в примере выше, только вместо слова Обработка необходимо написать ВнешняяОбработка.

Разберем пример. Пусть, у внешней обработки будут две формы: Основная и Дополнительная.

Открыть форму внешней обработки

На основной форме создадим команду «Открытие дополнительной», при выполнении которой будет открываться дополнительная форма.

Открыть форму внешней обработки

У этой команды будет клиентский обработчик события, со следующим кодом:

Теперь, открыв внешнюю обработку, мы сможем из её основной формы открыть дополнительную.

Открыть форму внешней обработки

Открыть внешнюю обработку 1С

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

В этой обработке создадим команду, при выполнении которой откроется форма внешней обработки.

Открыть внешнюю обработку 1С

В форме обработки напишем следующий код:

Код работает, начиная с платформы 8.3.15.

После выполнения команды, откроется окно выбора файла внешней обработки.

Если файл будет выбран, внешняя обработка откроется.

Открыть внешнюю обработку 1С

Статьи про открытие форм:

Статьи по конфигурированию в 1С:

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Читайте также: