Чем отличается в 1с записать и провести
Чем отличается в 1с записать и провести
8plus.ru — это отчеты и обработки 1С только версии 8 и только для типовых конфигураций!
Между документами в 1С и в жизни можно провести аналогию.
в 1C | в жизни |
Вы создали документ, заполнили некоторые поля и закрыли, не сохранив. | Взяли бланк документа, начали заполнять его, опустили в шредер. |
Вы создали документ, заполнили некоторые поля и сохранили. Документ записан. | Взяли бланк документа и заполнили его. Положили в папку. |
Вы открыли созданный ранее документ, стали вносить в него изменения. Документ открыт для редактирования и для остальных заблокирован. | Вы взяли документ из папки, взяли корректор, стали вносить в него изменения. Все ходят и спрашиваю: кто взял документ? |
Провели документ. | Подписали документ. Положили в папку. |
Сделали документ не проведенным (распровели) | Вы взяли подписанный документ из папки, аккуратно стерли печать и подпись. Положили в папку. |
Вы открыли проведенный документ, стали вносить в него изменения. | Вы взяли подписанный документ из папки, взяли корректор, стали вносить в него изменения. =) |
Пометили не проведенный документ на удаление. | Взяли не подписанный документ из папки, скомкали и бросили в корзину. |
Пометили проведенный документ на удаление. | Взяли подписанный документ из папки, скомкали и бросили в корзину. Спрашивается — зачем? |
Сняли с документа пометку на удаление. | Вытащили скомканный документ из корзины и разгладили его. |
Окончательно удалили помеченный на удаление документ. | Вытащили скомканный документ из корзины, разгладили его, опустили в шредер. |
Для тех, кому ближе суровый технический язык:
в 1С | в базе данных |
Вы создали документ, заполнили некоторые поля и закрыли, не сохранив. | Ничего не произошло. |
Вы создали документ, заполнили некоторые поля и сохранили. Документ записан. | В базу данных записан объект, который на учет никак не влияет. |
Вы открыли созданный ранее документ, стали вносить в него изменения. Документ открыт для редактирования и для остальных заблокирован. | Объект заблокирован в базе для изменения, открывшим его пользователем. |
Провели документ. | Документ сформировал движения по регистрам (изменил остатки), что самым прямы образом отразилось в учете. Кстати, все что ни делается в программе, все сводится к изменению регистров. |
Сделали документ не проведенным (распровели) | Движения по регистрам удалены. Он стал обычным объектом базы (просто записанным). |
Пометили не проведенный документ на удаление. | Объект в базе отмечен для дальнейшей попытки его окончательно удалить. |
Пометили проведенный документ на удаление. | Объект в базе отмечен для дальнейшей попытки его окончательно удалить. При этом его движения по регистрам удалены. Он снова не влияет на учет, как будто и не было его. |
Сняли с документа пометку на удаление. | С объекта в базе сняли пометку. Он стал обычным объектом базы (просто записанным). |
Окончательно удалили помеченный на удаление документ. | Объект исчез навсегда. |
Кстати, проведение документа в 8-ке может быть оперативным и неоперативным.
Запись и проведение документа в форме
Далее мы рассмотрим те сервисные действия, которые обеспечивает расширение формы документа. В данном разделе, мы опишем только те действия, которые специфичны именно для расширения формы документа и не будем касаться общих действий, которые поддерживаются расширениями всех объектов.
Установка даты документа
Расширение формы так же предоставляет команды для установки времени документа в начало дня, конец дня, перед предыдущим и за последующим документом.
Установка режима записи
При нажатии кнопки » ОК «, если для документа в метаданных разрешено проведение, документ записывается в режиме проведения.
Кроме того, расширение формы предоставляет две отдельные команды для записи с проведением и записи с отменой проведения.
При любой записи документа в форме, если установлено свойство расширения формы ПриЗаписиПерепроводить и документ проведен, то выполняется запись в режиме проведения. Это позволяет исключить ситуацию, когда пользователь изменит документ, а движения документа не будут обновлены.
Установка режима оперативного проведения
При записи документа в форме, расширение формы выполняет установку режима проведения (оперативное или неоперативное проведение). Установка выполняется по следующему алгоритму.
Если у пользователя нет права на неоперативное проведение – используется оперативное проведение.
Если документ не проведен – используется оперативное проведение.
Если дата документа меньше текущей, то используется неоперативное проведение.
Если дата документа равна текущей и время больше текущего – используется оперативное проведение.
Если дата документа меньше текущей, используется оперативный режим и у пользователя есть права на неоперативное проведение, то пользователю предлагается использовать неоперативный режим. Если пользователь отказывается, то запись документа отменяется.
Если дата документа меньше текущей, используется оперативный режим и у пользователя нет права на неоперативное проведение, то запись документа отменяется.
Если дата документа больше текущей и используется оперативный режим, то запись документа отменяется. Штатное поведение расширения формы не разрешает проведение документа завтрашней датой, даже если у пользователя есть права на неоперативное проведение. Это объясняется тем, что после появления документов проведенных завтрашней датой текущие остатки регистров используемых проводимыми оперативно документами перестают соответствовать реальным остаткам и механизм оперативного проведения для всех пользователей перестает работать адекватно.
Полученный таким образом режим проведения ( Оперативный или Неоперативный ) используется при выполнении записи документа.
Проверка прав
При записи документа в форме выполняется проверка прав на интерактивное проведение и интерактивную отмену проведения в соответствии с текущим режимом записи.
Считывание движений
При открытии формы документа, если есть табличные поля, связанные с движениями (наборами записей) объекта редактируемого в форме, то эти движения считываются из базы данных и соответственно отображаются в табличных полях.
Чем отличается проведенный документ от записанного в 1С:УНФ
Новички в работе с 1С:Управление нашей фирмой часто задаются вопросом чем документ с зеленой галочкой отличается от такого же документа без галочки.
Мы составили простую и наглядную табличку и подробно объяснили что означает каждое действие с документом.
Вид в сервисе | Что сделали в 1С:УНФ | Что произошло в жизни (на примере заявки на доставку заказа из магазина) | Как это отразилось в базе данных 1С |
Окончательно удалили помеченный на удаление документ. | Вытащили скомканную заявку из корзины, разгладили ее и потом опустили ее в шредер (измельчитель бумаги) | Объект исчез навсегда |
Доверить процесс обслуживания следует специалистам, давно работающим на рынке автоматизации, которые несут гарантию за проданный товар, оказанные услуги. Например, нам 🙂
Окажем услуги с оплатой по факту, если результат вас устроит.
Без предоплаты.
Посмотрите другие полезные материалы по теме «УНФ»
У нас вот такие Тарифы по обслуживанию 1С:УНФ
Документы в 1С 8.3
Реквизиты документа
Документы являются основным объектом метаданных в конфигурациях на 1С. Документ используется для отражения хозяйственных операций предприятия. Например, приход товара на склад, продажа товара, поступление денег в кассу и т.п. Можно сказать, что документ в 1С — это аналог бумажного документа, который используется на предприятии, однако могут быть и специфические виды документов, не имеющие бумажных аналогов.
В конфигурации документы расположены в узле Документы:
При создании нового документа открывается окно со свойствами документа, которые сгруппированы по закладкам:
Для каждого объекта метаданных Документ в базе данных будет создана своя таблица. В данной таблице будут колонки для хранения даты, номера, пометки удаления, признака проведения и некоторых других служебных реквизитов. Если на закладке Данные добавить реквизиты, то для каждого реквизита в таблице будет создана своя колонка:
Таблица базы данных:
Ссылка | Дата | Номер | Поставщик | Склад |
---|
В одной строке (записи) таблицы хранятся сведения об одном документе. Если в пользовательском режиме создать несколько документов, то таблица будет выглядеть следующим образом:
Ссылка | Дата | Номер | Поставщик | Склад |
---|---|---|---|---|
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 20.03.2021 20:00:04 | 000000001 | Алхимов | Основной |
8eae102d-86d5-11eb-80a3-e0d55e4e2669 | 20.03.2021 20:00:25 | 000000002 | ИП Иванов | Основной |
Табличная часть документа
Один документ может содержать в себе некоторый список однотипных данных. Например, в приходной накладной может быть 10 разных товаров. Для хранения таких данных предназначены табличные части.
Табличная часть описывается на закладке Данные. Указывается имя табличной части и реквизиты табличной части:
Документ может иметь множество табличных частей. Для каждой из них в базе данных будет создана своя таблица с колонками Ссылка, НомерСтроки и по одной колонке для каждого реквизита табличной части. Через поле Ссылка выполняется связь с основной таблицей документа. В таблице для табличной части в поле Ссылка будет храниться такой же идентификатор, как и в поле Ссылка основной таблицы документа.
Ссылка | НомерСтроки | Товар | Количество |
---|---|---|---|
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 1 | Смартфон | 2 |
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 2 | Клавиатура | 4 |
Формы документа
На закладке Формы для документа можно создать свои формы документа, списка или выбора:
Чтобы указать форму как основную ее нужно выбрать в специальных полях в верхней части закладки:
В этом случае при открытии формы документа будет использоваться созданная в конфигураторе форма. А для формы списка и формы выбора будут использоваться сгенерированные платформой формы.
Проведение документов
Запись документа — это процесс переноса значений реквизитов в таблицы базы данных.
Запись бывает трех видов:
Проведение документа — это запись документа в режиме проведения. Как правило при проведении документа формируются движения по регистрам. Также при проведении будет вызываться обработчик ОбработкаПроведения из модуля объекта. У документа есть реквизит Проведен, который равен Истина, если документ проведен и Ложь, если не проведен.
Движения документа — это набор записей регистра (накопления, бухгалтерии, расчета, сведений), который подчинен регистратору (документу).
Состав движений документа настраивается на закладке Движения. Там же можно разрешить или запретить проведение документа. Если проведение запрещено, то у документа не будет кнопки «Провести», при записи не будет вызываться обработка проведения в модуле объекта:
Для примера сформируем движения по регистру ОстаткиТоваров. Регистр имеет следующую структуру:
Тип изменения «Товар» — СправочникСсылка.Товары. Тип ресурса «Количество» — число, 15, 3. Аналогичные реквизиты есть у табличной части документа.
В модуле объекта документа нужно добавить процедуру ОбработкаПроведения и заполнить ее следующим образом:
Через коллекцию Движения можно обратиться к регистру. Сначала у него устанавливается признак Записывать = Истина, чтобы после выхода из обработки проведения движения были записаны в регистр. Затем в цикле перебирается табличная часть и для каждой строки добавляется новая запись в регистр ОстаткиТоваров.
В свойствах документа есть свойство Запись движений при проведении. Чтобы открыть свойства нужно в дереве метаданных в контекстном меню документа выбрать пункт «Свойства».
Если данное свойство равно Записывать выбранные, то после обработки проведения будут записаны только те наборы записей, у которых был установлен признак Записывать = Истина. Если Записывать модифицированные, то признак Записывать = Истина можно не устанавливать вручную. Любые измененные в обработке проведения наборы записей будут записаны. Платформа автоматически установит им признак Записывать = Истина при их изменении.
После записи документа свойство Записывать будет возвращено в исходное состояние, причем даже если запись документа не была завершена.
Если в обработке проведения установить параметр Отказ = Истина, то проведение не будет выполнено, движения не будут записаны в регистр и при проведении будет выдано исключение: «Не удалось провести «Приход товара 000000002 от 20.03.2021 20:00:25″!».
Отмена проведения документов
При записи документа в режиме отмены проведения выполняется удаление движений по регистрам. До непосредственного удаления движений вызывается обработчик ОбработкаУдаленияПроведения в модуле объекта документа. В данном обработчике можно прописать свой алгоритм действий при отмене приведения документа.
На закладке Движения можно настроить будут ли автоматически удалять движения при отмене проведения или нет. За это отвечает свойство УдалениеДвижений:
Свойство УдалениеДвижений может принимать три значения:
При создании нового документа в конфигураторе автоматически устанавливается Удалять автоматически при отмене проведения.
Если выбрано значение Не удалять автоматически, то в обработчике ОбработкаУдаленияПроведения нужно очистить движения программно:
Чем отличается в 1с записать и провести
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Документы
Описание:
В большинстве своем документы, которые создаются в процессе настройки конфигурации задачи, являются электронными аналогами стандартных бумажных документов, являющихся основаниями для тех или иных учетных действий или расчетов. Тем не менее, использование этого типа данных может выходить далеко за рамки простой фиксации изменений, внесенных в учетные регистры.
Документы в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться: