кнопка перечитать данные в 1с что делает

Перечитывание измененного объекта

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

В этой ситуации есть возможность перечитать данные, отображаемые в форме, из информационной базы еще раз. Сделать это можно с помощью кнопки «Перечитать», размещенной обычно в верхней командной панели формы.

Рассмотрим ее действие на примере. Пусть с информационной базой работают два пользователя, Пользователь1 (слева) и Пользователь2 (справа). Оба они открыли форму редактирования валюты EUR:

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Пользователь2 изменил количество разрядов при выводе дробной части в виде числа и записал изменения (кнопка «Записать»):

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Пользователь1 попытался также отредактировать полное наименование валюты, однако сделать этого не смог:

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Пользователь2 закрыл форму редактирования валюты EUR. Пользователь1 опять пытается пытается изменить полное наименование валюты EUR, однако снова не может этого сделать.

Для того, чтобы Пользователь1 смог сделать свои изменения, он должен сначала перечитать данные. Сделать это можно с помощью кнопки кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает(«Перечитать данные объекта»):

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

После того, как Пользователь1 перечитает данные объекта, он увидит изменения, сделанные Пользователем2 и ему станет доступно редактирование полного наименования валюты:

Источник

Методика обновления формы объекта данных при изменении объекта

Актуально для платформы 1С 8.2-8.3.17 (выше не проверял)

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

Пусть в объекте есть строковый реквизит Наименование, длину значения которого мы хотим отображать на форме этого объекта. Добавляем в форму реквизит ДлинаСтроки типа Число и отображаем его в одноименное нередактируемое поле.

Также пусть в объекте есть реквизит типа ХранилищеЗначения, тип которого мы также хотим отображать в форме. Добавляем в форму реквизит ТипЗначенияВХранилище типа Строка и отображаем его в одноименное нередактируемое поле.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делаеткнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

В каких же ситуациях нам потребуется обновлять эти косвенно связанные с объектом реквизиты?

Разумеется это нужно вызывать в событии ПриИзменении поля Наименование. А вот дальше многие ограничиваются только вызовом в ПриСозданииНаСервере[упр] и ПриОткрытии[обыч]. Тем самым они не учитывют

Примеры использования команды «Перечитать»

Случай 1

Объект данных, отображаемый в форме, мог быть изменен в БД с момента его загрузки в форму. Типичные способы таких изменений

Тогда при попытке начать изменение любого поля формы, напрямую связанного с данными (флаг «Изменяет данные»), пользователь увидит предупреждение «Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!»

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Это результат срабатывания так называемой оптимистической объектной блокировки. Она гарантирует, что если пользователь изменяет объект, то его изменения не «затрут» изменения, сделанные другими сеансами или другими программными объектами этого же сеанса. И тогда, чтобы получить возможность редактировать объект, нужно будет его перечитать либо переоткрыть форму.

Случай 2

Пользователь изменил данные в форме и решил отменить сделанные изменения, но продолжить редактировать объект от его текущего состояния в БД.

В каких событиях обновлять форму?

Чтобы учесть все эти тонкости, нужно всю логику обновления косвенно связанных с объектом элементов формы поместить в процедуру ПриСозданииПриЧтенииНаСервере и вызывать ее из следующих обработчиков событий формы:

Управляемая форма
Обычная форма

Управляемая форма

В управляемой форме при открытии существующего объекта выполняются два обработчика: сначала ПриЧтенииНаСервере и затем ПриСозданииНаСервере. Поэтому процедура ПриСозданииПриЧтенииНаСервере будет вызываться 2 раза подряд и нужно не задублировать выполнение логики обновления формы. Элементы формы могут зависеть как от данных объекта, доступных через реквизит формы, так и от недоступных через него (реквизиты типа ХранилищеЗначений), которые доступны только одном из них (ПриЧтенииНаСервере). Поэтому в процедуре ПриСозданииПриЧтенииНаСервере надо предусмотреть оба вызова таким образом, чтобы при создании формы существующего объекта при ее вызове из ПриЧтенииНаСервере выполнилась только логика работы с хранилищами значений, а при последующем вызове из ПриСозданииНаСервере выполнилась только логика, зависящая от остальных данных объекта. При этом ее вызов из уже открытой формы (из ПриЧтенииНаСервере и ПослеЗаписиНаСервере) должен выполнять все действия. Для этого создадим в общем модуле функцию ЭтоВызовПослеОткрытияФормы, где будем проверять наличие параметра ТолькоПросмотр у формы. Тогда процедура ПриСозданииПриЧтенииНаСервере будет выглядеть так

Из процедуры ПриСозданииПриЧтенииНаСервере можно выделить всю легкую клиентскую логику в процедуру НастроитьЭлементыФормы с директивой НаКлиентеНаСервереБезКонтекста. Такую легкую и доступную во всех контекстах формы процедуру можно звать при большинстве изменений реквизитов, которые должны менять косвенно связанные элементы формы.

Пример модуля управляемой формы

Обычная форма

В обычной форме благодаря наличию события ПриИзмененииДанных логику обновления формы можно помещать прямо в его обработчик. Здесь также стоит вынести всю легкую логику в процедуру НастроитьЭлементыФормы по аналогии с управляемой формой.

Пример модуля обычной формы

Применяю данную методику уже много лет.

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

Источник

1с перечитать данные формы программно

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

В этой ситуации есть возможность перечитать данные, отображаемые в форме, из информационной базы еще раз. Сделать это можно с помощью кнопки «Перечитать», размещенной обычно в верхней командной панели формы.

Рассмотрим ее действие на примере. Пусть с информационной базой работают два пользователя, Пользователь1 (слева) и Пользователь2 (справа). Оба они открыли форму редактирования валюты EUR:

Пользователь2 изменил количество разрядов при выводе дробной части в виде числа и записал изменения (кнопка «Записать»):

Пользователь1 попытался также отредактировать полное наименование валюты, однако сделать этого не смог:

Пользователь2 закрыл форму редактирования валюты EUR. Пользователь1 опять пытается пытается изменить полное наименование валюты EUR, однако снова не может этого сделать.

Для того, чтобы Пользователь1 смог сделать свои изменения, он должен сначала перечитать данные. Сделать это можно с помощью кнопки («Перечитать данные объекта»):

После того, как Пользователь1 перечитает данные объекта, он увидит изменения, сделанные Пользователем2 и ему станет доступно редактирование полного наименования валюты:

Расширение управляемой формы для справочника (Managed form extension for catalogs) — Прочитать (Read)
Синтаксис: Прочитать()
Описание: Обновляет объект управляемой формы.
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Похожие FAQ

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

Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 8
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

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

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

Если конфигурация типовая, то, наверное, самый простой способ решения такой задачи – создать внешнюю обработку вида «Заполнение объекта».

Заполнение формы объекта с помощью внешней обработки

Строка с соответствующим параметром в модуле обработки:

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

Возможность заполнить форму не записывая объект – это то, что нужно. Ведь пользователь скорее всего ожидает, что по нажатию кнопки форма заполнится, а записываться будет позднее, после проверки результата заполнения. Поэтому выбираем тип команды – ЗаполнениеФормы.

В конечном итоге код в модуле обработки будет выглядеть примерно так:

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

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

Заполнение формы объекта посредством обработчика команды в модуле формы

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

Над серверной процедурой нужно подумать. В ней у нас будет объект формы с типом «ДанныеФормыСтуктура». Что-либо менять или заполнять в этом объекте не получится, возникнет ошибка «Объект недоступен для изменения».

Вот теперь и форма заполнена, и кнопка команды там, где хочется.

Источник

1с перечитать данные формы программно

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

В этой ситуации есть возможность перечитать данные, отображаемые в форме, из информационной базы еще раз. Сделать это можно с помощью кнопки «Перечитать», размещенной обычно в верхней командной панели формы.

Рассмотрим ее действие на примере. Пусть с информационной базой работают два пользователя, Пользователь1 (слева) и Пользователь2 (справа). Оба они открыли форму редактирования валюты EUR:

Пользователь2 изменил количество разрядов при выводе дробной части в виде числа и записал изменения (кнопка «Записать»):

Пользователь1 попытался также отредактировать полное наименование валюты, однако сделать этого не смог:

Пользователь2 закрыл форму редактирования валюты EUR. Пользователь1 опять пытается пытается изменить полное наименование валюты EUR, однако снова не может этого сделать.

Для того, чтобы Пользователь1 смог сделать свои изменения, он должен сначала перечитать данные. Сделать это можно с помощью кнопки («Перечитать данные объекта»):

После того, как Пользователь1 перечитает данные объекта, он увидит изменения, сделанные Пользователем2 и ему станет доступно редактирование полного наименования валюты:

Расширение управляемой формы для справочника (Managed form extension for catalogs) — Прочитать (Read)
Синтаксис: Прочитать()
Описание: Обновляет объект управляемой формы.
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Похожие FAQ

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

Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 8
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

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

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

Если конфигурация типовая, то, наверное, самый простой способ решения такой задачи – создать внешнюю обработку вида «Заполнение объекта».

Заполнение формы объекта с помощью внешней обработки

Строка с соответствующим параметром в модуле обработки:

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

Возможность заполнить форму не записывая объект – это то, что нужно. Ведь пользователь скорее всего ожидает, что по нажатию кнопки форма заполнится, а записываться будет позднее, после проверки результата заполнения. Поэтому выбираем тип команды – ЗаполнениеФормы.

В конечном итоге код в модуле обработки будет выглядеть примерно так:

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

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

Заполнение формы объекта посредством обработчика команды в модуле формы

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

Над серверной процедурой нужно подумать. В ней у нас будет объект формы с типом «ДанныеФормыСтуктура». Что-либо менять или заполнять в этом объекте не получится, возникнет ошибка «Объект недоступен для изменения».

Вот теперь и форма заполнена, и кнопка команды там, где хочется.

Источник

Программирование в 1С для всех

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

Прежде чем мы начнем разбирать вопросы программной работы с документами в 1С 8.3, хочу обратить Ваше внимание, что на управляемой форме в режиме тонкого клиента мы можем программно работать (создавать, записывать и проводить) с документами только в серверном контексте. То есть, ваша процедура или функция должна выполняться под директивами &НаСервере или &НаСервереБезКонтекста.

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

Создать документ 1С программно

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

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Для этой команды, я сделаю обработчики на клиенте и на сервере.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

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

В этом коде я обратился к менеджеру документа ПриходТовара (строка Документы.ПриходТовара), и использовал функцию менеджера документа СоздатьДокумент, которая и создает документ-объект. Переменная ДокПриход, которую мы создали будет иметь тип ДокументОбъект.ПриходТовара.

Следующим шагом, я присвою дату этому документу, для простоты, это будет текущая дата.

Номер я присваивать не буду, потому что у объекта моего документа включено свойство Автонумерация.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

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

Записать документ 1С программно

Для того, чтобы документ 1С появился в базе, его необходимо записать. Делается это при помощи метода документа-объекта Записать. Этот метод позволяет и записать, и провести документ. Он имеет два параметра, которые я разберу ниже. Но, метод Записать также можно использовать и без параметров, тогда он будет просто записывать документ. Что мы и сделаем.

Все теперь документ появится в базе.

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

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

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

Заполнить документ 1С программно

У нашего документа два реквизита «шапки» – Склад и Комментарий. Создадим на форме обработки реквизит управляемой формы Склад с соответствующим типом, для последующей записи его в шапку документа, а реквизит комментарий заполним в ручную.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Присвоим реквизитам созданного объекта-документа нужные значения, просто обратившись через точку к этим реквизитам.

Так мы заполнили реквизиты «шапки», но у нас имеется еще табличная часть документа, необходимо заполнить и её. Для её заполнения, я создам таблицу значений в качестве реквизита формы обработки, и помещу её на эту форму.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делаетМы будем в цикле обходить эту таблицу значений, создавая в каждой итерации цикла новую строку табличной части документа и заполняя её данными.

В этом коде я обращаюсь к табличной части документа-объекта посредством точки (строка ДокПриход.СписокТоваров), получаю табличную часть этого объекта, и используя метод Добавить, создаю новую строку табличной части. А потом заполняю реквизиты табличной части документа данными из таблицы значений. Поскольку у нас названия реквизитов табличной части и таблицы значений совпадают, мы можем упростить код заполнения табличной части, используя метод ЗаполнитьЗначенияСвойств.

Всё! Мы можем смело создать документ, который будет заполнен.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Провести документ 1С программно

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

Записать( , )

Оба параметра это системные перечисления. Первый параметр это перечисление РежимЗаписиДокумента, которое может принимать следующие значения:

Т.е. мы можем записать документ, провести документ и отменить проведение документа.

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

Т.е. мы можем провести документ как в оперативном режиме, так и в неоперативном. Если этот параметр не указан, то документ проводится в неоперативном режиме.

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

Теперь документ будет сразу проведен при создании.

Изменить документ 1С программно

Часто возникают задачи, когда нужно поменять уже созданный документ, или провести документ, который был только записан. Для этого необходимо из ссылки на документ получить его объект. Для примера, я опять создам «за кадром» новую обработку, на форме которой размещу ссылку на документ, поле с типом Склад и команду. При выполнение этой команды, будет меняться склад документа, а потом этот документ будет проводиться.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Как и в прошлый раз, я создам обработчик команды на сервере и на клиенте. И в серверном обработчике напишу код получения объекта из ссылки документа.

Мы получили объект документа, используя метод ссылки на документ ПолучитьОбъект. Имейте в виду, что этот метод можно использовать или на сервере, или клиенте в режиме толстого клиента. Переменная, которую мы создали будет иметь тип ДокументОбъект.ПриходТовара.

Изменим склад и проведем документ. В этот раз проведем в неоперативном режиме.

Открыть документ 1С программно

Научимся открывать документ 1С программно. Для этого мы доработаем предыдущую обработку: после изменения документа откроем основную форму этого объекта для просмотра и возможного редактирования. Для открытия формы документа, мы будем использовать метод ОткрытьФорму, в котором будем использовать параметр Ключ, где укажем ссылку на открываемый документ.

Если мы сейчас выполним этот код, то откроется форма документа, с уже измененным реквизитом Склад.

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делаетИзучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

кнопка перечитать данные в 1с что делает. Смотреть фото кнопка перечитать данные в 1с что делает. Смотреть картинку кнопка перечитать данные в 1с что делает. Картинка про кнопка перечитать данные в 1с что делает. Фото кнопка перечитать данные в 1с что делает

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

Промо-код на скидку в 15% — 48PVXHeYu

Вступайте в мои группы:

6 thoughts on “ Программная работа с документами в 1С ”

Одинаковые имена для реквизитов и элементов — это норма. Любую типовую открой и посмотри, как там сделано.
И о какой ошибке округления идет речь? Ты что здесь округлять собрался? В момент записи значения в поле Сумма округление производится автоматически в соответствие с заданной точностью в Конфигураторе.

По поводу книг. Читал книгу «Программировать в 1С за 11 шагов», книга написана очень понятным и доступным языком. Это первая книга, читая которую, я начал что-то понимать в 1С.

Ильяс, спасибо за статью. Что касается падежей — это не самое страшное. Плохо то, что сразу нарисовываются какие — то «умники», которых будут волновать округления и падежи. А вот если бы в статье о программной работе с документами учитывались округления, попытки, исключения — это была бы действительно статья типичного 1С — ника, которых полно и толку от которой — ноль. Не обращай на таких внимания. Основная масса, к сожалению, такая.

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

Ты где здесь ошибку в округлении нашел?
Ну и запятые проверь у себя в сообщении.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *