для чего предназначены реквизиты и табличные части документа
Вирус скуки
пятница, 17 мая 2013 г.
1С-ное.(Заметки быдло-ученика-погромиста)
Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.
14 комментариев:
Большое человеческое 1Спасибо!
Я вас обожаю, кто это создал.
а какой вопрос вызывает сложность то? Напишите, может, я напишу какой-нибудь развернутый пост, а то я не понимаю, уже три человека находят что-то особенное на этой странице.
только это 4 занятие
И к вам обращусь
а какой вопрос вызывает сложность то? Напишите, может, я напишу какой-нибудь развернутый пост, а то я не понимаю, уже три человека находят что-то особенное на этой странице.
Сори что анонимно, но сайт очень полезный
Спасибо чувак выручил перед экзаменом 🙂
Всё отлично, спс! Ток ето 4 занятие, а не 2 и 3
просто я читал книгу очень давно)))) она уже изменилась, другая редакция. Но принципы те же, хз, может, перечитаю и напишу новые ответы
Документы в 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С:Предприятия 8
На этапе создания конфигурации разработчик анализирует предметную область и требования пользователей, создает объекты конфигурации, настраивает связи между ними путем установки их свойств, визуально конструирует экранные формы и макеты отчетов, пишет программные модули в определенных точках конфигурации. В результате получается прикладное решение, призванное облегчить работу конечных пользователей.
Структура прикладного решения (конфигурации) определяется составом объектов конфигурации и взаимосвязями между ними. Под объектами конфигурации понимаются средства 1С:Предприятия, предназначенные для отражения реальных объектов и явлений предметной области, например, справочник «Контрагенты», документ «Счет» и т.д. Разработчик может создавать объекты, не имеющие явного физического воплощения в предметной области, но необходимые для решения задачи, например, регистры сведений, обработки и т.д.
Взаимосвязь объектов
В самом общем виде взаимосвязь всех объектов можно представить следующим образом:
Объекты конфигурации
В платформе 1С:Предприятия 8 существуют следующие объекты конфигурации (кроме тех, которые располагаются в ветви Общие):
В константах хранятся редко изменяемые значения, например, Название организации, ИНН, ФИО руководителя и т.д. У константы обычно назначен примитивный, ссылочный или составной тип данных.
В справочниках содержится условно-постоянная списковая информация, например, список товаров, список сотрудников. Такие объекты обычно характеризуются кодом и наименованием.
У справочников также могут быть реквизиты, задаваемые разработчиком, и табличные части, что является важным отличием от версии 7.7. Теперь информацию, связанную с объектом, целиком ему принадлежащую и не имеющую объектной сущности, можно хранить в табличных частях.
Также имейте в виду, что периодических реквизитов справочников в версии 8 больше нет и вместо них для хранения истории изменения данных можно использовать периодические регистры сведений. Подробнее о регистрах сведений написано ниже.
Документы хранят информацию о событиях в предметной области, о проведенных или планируемых хозяйственных операциях, например «Приходная накладная», «Платежное поручение», «План продаж» и т.д. Документ характеризуется номером и датой. Обычно при проведении документа изменяется состояние регистров, например, увеличивается количество товара в регистре Остатки при проведении приходной накладной.
У документа может быть несколько табличных частей, что является важным отличием от версии 7.7. Табличные части позволяют сохранить связанную с документом списковую разнородную информацию, например, перечень товаров, график платежей, список дополнительных расходов и т.д.
Журналы — это средство группировки связанных по смыслу документов, например, журнал Склад объединяет приходные и расходные накладные. Аналогично могут быть созданы журналы Банк, Кадры и т.д. Заметьте, что создавать журнал для отображения документов одного вида не нужно, поскольку у каждого документа есть форма списка, которая генерируется автоматически или которую можно создать самостоятельно. Журналы полезны только для группировки документов разного вида.
Нумераторы — это служебные объекты, связанные с документами и предназначенные для единой (сквозной) нумерации документов нескольких видов, например, нумератор «Кадровый», который используется для присвоения номеров всем кадровым приказам. Опять же нумератор имеет смысл, когда требуется присваивать номера по единому правилу документам разных видов.
Предназначены для выстраивания документов в единую хронологическую последовательность, например, «Партионный учет». Последовательности позволяют контролировать дату актуальности итогов регистров. Например, если документ при своем проведении использует итоги какого-либа регистра, то при изменении движений этого регистра, которые были до даты проведения документа, движения документа могут стать некорректными.
Чтобы восстановить правильность движений документа, его нужно перепровести. Последовательность позволяет определить дату (момент времени), на которую итоги регистра являются правильными. При нарушении последовательности пользователь должен ее восстановить путем перепроведения всех документов, входящих в последовательность, начиная от текущей границы актуальности.
В отличие от версии 7.7, в версии 8 у последовательностей могут быть измерения, которые позволяют более точно отследить по каким данным были нарушены итоги, например, по конкретному товару или конкретному контрагенту. Тогда восстановление последовательности будет происходить быстрее за счет того, что будут перепроводиться не все документы, а только те, которые сделали движения по значению данного измерения.
Перечисление — это предопределенный набор значений, заданный еще на этапе разработки приложения, который не редактируется в режиме Предприятие. Конфигурация рассчитывает на определенные значения, например, перечисление ТипКлиента со значениями Обычный и ОченьВажнаяПерсона. Для VIP-клиентов можно предусмотреть скидки.
На основе информации из базы данных отчеты выдают печатные формы, содержащие всевозможные реестры, детальную и сводную информацию, например, отчеты «Оборотно-сальдовая ведомость», «Список сотрудников», «Анализ продаж».
Производят некоторую обработку информации, содержащейся в базе данных, например, обработка «Расчет зарплаты», «Закрытие периода».
У обработок могут быть реквизиты и табличные части, их смысл аналогичен реквизитам и табличным частям отчетов, и совершенно отличается от справочников и документов.
Предназначены для хранения дополнительных характеристик объектов, например дополнительных свойств товаров (вес, цвет, размер). Новые свойства можно вводить в режиме Предприятие. Через этот объект реализован механизм субконто в бухгалтерском учете.
Подробнее о планах видов характеристик можно прочитать в этом разделе.
Предназначены для хранения любой информации об объектах в разрезе заданных измерений, например, «Цены товаров». Особенность регистра сведений от регистра накопления состоит в том, что в регистре сведений каждая запись уникальна и полностью определяется своими измерениями. Например, если регистр сведений «ЦеныТоваров» имеет измерения Номенклатура и ТипЦен, то мы не сможем ввести в этот регистр две цены одного типа по одной номенклатуре, например, две оптовые цены товара «Холодильник Bosh 1232».
Если требуется хранить историю изменения информации, то регистр сведений делается периодическим, например, «Курсы валют». Для таких регистров в ключ уникальности записи, кроме измерений, добавляется поле «Период».
В регистрах сведений, подчиненных регистратору, каждая запись должна быть обязательно связано с документом-регистратором. Это не означает, что она вводится этим документом при своем проведении, но она обязательно должна содержать ссылку на документ в поле «Регистратор».
Хранят записи (проводки), основанные на определенном плане счетов, например, регистр бухгалтерии «Управленческий» связан с планом счетов «Управленческий» (основан на нем). Регистр бухгалтерии всегда связан только с одним планом счетов, но один план счетов может использоваться в различных регистрах бухгалтерии.
Содержат виды расчета, имеющие между собой нечто общее, как то: одинаковые базовые виды расчеты, одинаковые правила перерасчета, общие правила вытеснения по периоду. Например, планы «Основные начисления», «Налоги». Затем на основе планов создаются регистры расчета, содержащие непосредственно записи расчетов.
В отличие от версии 7.7, в версии 8 виды расчета хранятся в планах видов расчета как объекты данных, т.е. могут даже вводиться в режиме «Предприятие». Конечно, в версии 8 можно ввести предопределенные виды расчета, на которых будет построена конфигурация, и задать для них правила вытеснения, ведущие и базовые виды расчета.
Предназначены для хранения записей сложных периодических расчетов, например, регистр расчета «Начисления». Регистр расчета всегда основан на определенном плане видов расчета.
Общие объекты
Объекты конфигурации, располагающиеся в ветви «Общие»:
Предназначены для группировки других объектов конфигурации, например, Кадры, Торговля, Маркетинг. Каждый объект может входить сразу в несколько подсистем. Подсистемы могут быть вложенными друг в друга. Затем на основе подсистем легко назначать роли (права доступа) и формировать интерфейсы.
Содержат процедуры и функции, используемые в других программных модулях, например, общий модуль «Процедуры обработки документов». В общих модулях не может быть объявлений переменных модуля и нет раздела основной программы, там есть только раздел процедур и функций. Экспортируемые переменные, процедуры и функции модуля приложения не доступны в общих модулях. А экспортируемые процедуры и функции общих модулей доступны в модуле приложения, других общих модулях и остальных программных модулях.
Предназначены для определения прав пользователей конфигурации, например, роли «Кадровик», «Администратор». Особенностью версии 8 по сравнению с версией 7.7 является то, что каждый пользователь может иметь несколько ролей.
Критерии отбора нужны для отбора данных по определенному признаку. Например, по критерию отбора «Контрагент» можно выбрать все документы, относящиеся к заданному контрагенту. Критерии отбора применяются для отбора элементов справочников, документов и других объектов.
Представляют собой совокупность панелей интерфейса: меню и панели инструментов, например, интерфейс «Бухгалтер», «Руководитель». В версии 8 интерфейсы могут переключаться «на лету», без перезапуска программы.
Общие экранные формы не принадлежат конкретному объекту конфигурации, а относятся к конфигурации в целом. Они могут использоваться в разных местах программы, например, форма «Ввод адреса контрагента».
Общие макеты (шаблоны печатных форм) не принадлежат конкретному объекту конфигурации, например, макет «Реестр документов». Они используются из разных программных модулей.
Картинки, используемые на кнопках, формах и других интерфейсных объектах. Например, картинка «Выполнить». Картинки некоторых форматов можно изменять с помощью редактора картинок.
Стили оформления, включающие в себя различные элементы стиля: цвет отрицательных чисел, цвет фона редактирования полей и т.д. Стили позволяют гибко настроить форматирование некоторых частей конфигурации, например, выделить регламентные документы, важные обработки и т.д. В качестве примера можно назвать стили»Основной», «Яркий», «Регламентные процедуры».
Языки конфигурации, например, Русский и Английский. Можно разрабатывать конфигурации, рассчитанные на работу пользователей, говорящих на разных языках. Каждый язык имеет код языка, например, у русского языка код «ru» и т.д.
Основные объекты конфигурации в 1С
Дерево объектов конфигурации
После запуска конфигуратора слева можно увидеть дерево объектов конфигурации. Данное дерево также называют дерево метаданных. Конфигурация состоит из объектов конфигурации, таких как справочник, документ, константа и т.п.
У каждого объекта есть свои свойства. Например, у справочника это имя, длина кода, реквизиты, состав подсистем, в которые он входит и т.п. Чтобы открыть свойства справочника нужно дважды щелкнуть по нему в дереве:
Или щелкнуть по нему правой кнопкой мыши и выбрать «Свойства»:
Основные объекты конфигурации
Константы
Константы нужны для хранения постоянной и условно постоянной информации. Например, основная организация, валюта регламентированного учета и т.п.
Справочники
Справочники нужны для хранения некого однородного списка значений. Например, номенклатура, контрагенты. Используются для хранения нормативно-справочной информации.
Документы
Документы нужны для отражения хозяйственных операций организации. Например, приход от поставщика, продажа клиенту, начисление и выплата зарплаты и т.п.
Важное свойство документа — это проведение. Проведенный документ изменяет состояние учета. Например, остаток товара на складе. Непроведенный документ — это просто черновик, который пока никак не влияет на состояние учета.
Журналы документов
Используются для объединения нескольких видов документов в один журнал. Например, журнал «Складские документы», в котором могут быть приходные и расходные накладные.
Перечисления
Это некий постоянный набор значений, который не может быть изменен в процессе работы с базой данных. Состав перечислений задается разработчиком в конфигурации, пользователи могут только выбирать значение из предопределенного списка, создать новые элементы не могут.
Отчеты
Отчеты нужны для вывода информации пользователю в удобном виде. Это может быть отчет по остаткам на складе, отчет по финансовым результатам и т.п.
Обработки
Обработки предназначены для выполнения различных действий с информационной базой, например удаление помеченных объектов, изменение цены во всех строках табличной части документа и т.п.
Планы видов характеристик
Используются для описания множеств однотипных объектов аналитического учета. Например, некие дополнительные свойства для справочника «Номенклатура». Ключевой особенностью является то, что для каждого элемента плана вида характеристик можно указать свой тип данных.
Регистры сведений
Используются для хранения информации, состав которой развернут по определенной комбинации значений. Например, цены на товары. У каждого товара может быть оптовая и розничная цена. Регистр сведений позволяет указать цену в разрезе товара и вида цены (оптовая или розничная).
Регистры накопления
Используются для накопления информации в разрезе измерений, с возможностью получения остатков или оборотов. Например, товары на складах: 2 измерения товар и склад, и числовой ресурс — количество.
Планы счетов
Используются для описания синтетических счетов бухгалтерского учета.
Регистры бухгалтерии
Используются для отражения информации о хозяйственных операциях в бухгалтерском учете.
Планы видов расчета
Описывают множества однотипных объектов механизмов расчета. Например, оклад, премия, прочие виды расчета, которые используются при расчете зарплаты.
Регистры расчета
Используются для накопления информации о периодических расчетах.
Бизнес-процессы
Используются для автоматизации прохождения и контроля цепочек событий. Например, процесс согласования цен, который включает в себя несколько событий: согласование у руководителя отдела, согласование у руководителя предприятия, контроль правильности установки цен.
Задачи
Используются совместно с бизнес-процессами, позволяют вести учет заданий по исполнителям, а также отражают продвижение бизнес-процесса по точкам маршрута.
Подчиненные объекты
У основных объектов могут быть подчиненные объекты:
Реквизиты
Реквизиты нужны для хранения информации об объекте. Например у справочника контрагентов могут быть реквизиты ИНН, КПП, ОГРН, адрес, телефон.
Табличные части
Табличные части используются для хранения списка каких-либо объектов в виде таблицы внутри основного объекта. Например, у документа «Приходная накладная» может быть таблица поступившего товара. У этой таблицы могут быть реквизиты: товар, количество, цена, сумма. У таблицы может быть несколько строк для оприходования нескольких товаров.
Формы
Формы используются для ввода и просмотра информации, хранящейся внутри объекта.
Команды
Используются для выполнения различных действий, связанных с объектом. Например, вывод печатной формы документа.
Макеты
Используются для создания печатных форм объекта.
Графы
Это поля журнала документов.
Измерения
Используются для регистров. В разрезе измерений хранятся данные в регистрах.
Ресурсы
Это та информация, которая хранится в регистрах.
Пример
Для примера создадим в конфигурации справочник Товары. Для этого выделим в дереве метаданных узел «Справочники», щелкнем правой кнопкой и выберем «Добавить»
Откроется окно редактирования свойств справочника. Введем имя «Товары», синоним заполнится автоматически. Синоним используется для представления справочника в пользовательском режиме.
Перейдем на закладку «Данные» и добавим несколько реквизитов. При добавлении нового реквизита будет открываться окно редактирования свойств реквизита:
Нас пока интересуют свойства Имя и Тип. Заполним их как на картинке.
Сохраним конфигурацию базы данных, нажав на синий бочонок
И запустим конфигурацию в пользовательском режиме. Найдем наш справочник и создадим новый элемент. Несмотря на то что мы не создавали в конфигурации форму, форма все-таки есть у справочника.
Так происходит, потому что платформа создает основные формы «на лету», если не была явно создана форма в конфигураторе. Это называется механизм основных форм. На такой форме будут все реквизиты и табличные части объекта.
Добавим для справочника новую табличную часть. Для этого выделим узел «Табличные части» у справочника, щелкнем правой кнопкой и выберем «Добавить»:
В открывшемся окне свойств табличной части укажем имя «Поставщики».
Добавится новый реквизит табличной части, в окне свойств введем ему имя «Поставщик». Если в свойстве «Тип» нажать на кнопку с тремя точками, то откроется окно редактирования типа данных реквизита. Тут можно выбрать один из примитивных типов или из тех типов, которые были созданы в конфигурации. Например, СправочникСсылка.Товары:
Так как поставщиков лучше тоже хранить в виде справочника, то добавим в конфигурацию новый справочник «Контрагенты» и после этого выберем тип для реквизита «СправочникСсылка.Контрагенты».
В узле «Формы» справочника «Товары» добавим новую форму. Откроется конструктор формы справочника. Оставим в нем все без изменений и нажмем кнопку «Готово»:
Откроется редактор формы. Слева вверху расположены элементы формы, справа — реквизиты формы, команды (кнопки) и параметры, внизу можно увидеть как будет выглядеть форма с текущими настройками:
В списке элементов выделим элемент «Цена» и нажмем кнопку «Delete» чтобы удалить элемент формы. Можно щелкнуть по элементу формы правой кнопкой и выбрать пункт меню «Удалить».
Затем перейдем на закладку «Команды» и, нажав сверху на кнопку с зеленым плюсом, добавим новую команду:
Имя команды оставим без изменений. В свойстве «Действие» нажмем на лупу и в окне создания обработчика выберем переключатель «На клиенте»:
Нажмем «ОК» и мы попадем в модуль формы, где уже будет создана процедура Команда1. Вставим туда следующий код: