В этой части мы ознакомимся с элементом конфигурации «Документ» от справочника документ отличается тем, что может иметь одино из двух состояний «проведен – не проведен». Если документ «проведен» означает событие произошло (товар отгружено, деньги от клиента поступили, и т.п.) Если документ не проведен то соответственно событие еще не зафиксировано и документ является черновиком, заготовкой. Каждый документ привязан к событию которое произошло в определенный момент времени поэтому документы имеют привязку к дате и ко времени, что позволяет выстроить хронологические последовательности документов. Поскольку некоторые документы могут быть проведены задним числом в системе есть инструменты позволяющие отследить повлияют ли эти изменения на следующие по хронологии и логически связанные документы и перепровести их.
Как правило документы имеют много информации которая важна для ведения правильного учета, такая дополнительная информация в системе 1с Предприятие называется реквизитами документа. Большинство реквизитов разработчик прописывает сам, однако два реквизита документа система добавляет автоматически, и их нельзя удалить, это дата документа (с точностью до секунды) и номер документа (как правило уникальный в течение года).
Информация которая является одинаковой по структуре но различна по количеству выносится в одну или несколько табличных частей документа (например, список товаров по цене и количеству принятых по приходной накладной).
С документом связано и такое понятие как оперативное или неоперативное проведение и перепроведение документа и оперативная отметка времени. При оперативном проведении система проверяет соответствие даты документа с текущей датой и если дата совпадает тогда при проведении документа устанавливает текущее время или время на секунду больше последний оперативно проведенный сегодня документ. Если же дата не совпадает выводится сообщение о невозможности оперативного проведения документа.
Однако мы немного ошиблись при создании справочников мы забыли создать справочник дисков. «Справочник дисков» это справочник в котором указывается перечень дисков, а в табличной части указывается перечень фильмов которые есть на дисках. Также нужно создать дополнительный реквизит Примечание где будем указывать дополнительные данные.
Общий вид справочника дисков.
Но мы отвлеклись, давайте создадим документ по которому мы получим диски с фильмами, это конечно будет «Приходная накладная».
Открываем соответствующую ветку в конфигурации и по аналогии со справочниками создаем новый документ «Приходная накладная».
Создадим табличную часть «Товар» в котором укажем следующие колонки: «Товар»-тип данных справочник дисков, количество, цена, сумма. Кстати, желательно во всех документах где фигурирует цена и сумма писать одинаково количество – «Кть», цена – «Цена», сумма – «Сумма». Поскольку это поможет унифицировать процесс программирования. Для чего это нужно немного ниже.
Теперь создадим форму документа. Общий вид не редактируем.
Если вы запустите «1с: Предприятие 8.1» в режиме «Предприятие» то создав новый документ (Операции_ Документы – Приходная накладная) вы увидите что колонку «сумма» нужно заполнять вручную, что не есть хорошо поскольку автоматизация процессов заключается в том, чтобы большинство рутинной работы делал компьютер. Понятно что в большинстве систем автоматизации будет много документов с колонками «Количество», «Цена», «Сумма». Поэтому каждый раз писать подпрограммку расчета суммы не очень целесообразно лучше раз написав такую программку использовать ее много раз.
Процедуры для совместного использования в «1с: Предприятие 8.1» создаются в конфигураторе в ветке «Общие», нас в данном случае интересует элемент ветки «Общие модули» (заметьте общих модулей может быть несколько).
Создадим новый общий модуль «ЗФ» (сокращение от «общие функции)».
Создаем общий модуль.
Алгоритм работы процедуры будет такой: процедура получает ссылку на активную строчку данных табличной части. И устанавливает в колонке «Сумма» число равное произведению количества на цену. Для работы процедуры необходимо, чтобы в табличной части были колонки с соответствующими названиями.
Сама процедура выглядит так:
Процедура ПерерахунокСуми(СтрокаТабличноїЧастини) экспорт
СтрокаТабличноїЧастини.сума=СтрокаТабличноїЧастини.кть*СтрокаТабличноїЧастини.ціна;
Конецпроцедуры
Слово экспорт указывает на то, что данная процедура доступна со всех частей конфигуратора.
Процедура пересчета суммы должна вызываться в двух случаях когда изменилось количество и когда изменилась цена. Для привязки процедуры к событию изменения цены в конфигуратор открываем форму документа и кликаем по соответствующему полю табличной части, после чего нажимаем на лупу на закладке События возле названия «ПриИзменениы» (см. рис.)
Когда откроется закладка «Модуль» с уже созданной заготовки процедуры которая будет вызываться при изменении количества мы прописывает там следующее:
Процедура ТоварКтьПриИзменении(Элемент)
ЗФ.ПерерахунокСуми(Элементыформы.Товар.ТекущиеДанные);
КонецПроцедуры
Где ЗФ.ПерерахунокСуми() – вызов Совместного модуля ЗФ и процедуры этого модуля «ПерерахунокСумы», а Элементыформы.Товар.ТекущиеДанные это передача ссылки на данные строки табличного элемента формы «Товар».
Аналогично делаем с колонкой «Сумма», поскольку к сожалению, в «1с: Предприятие 8.1» не реализовано назначения одного и того же обработчика события для нескольких элементов.
Запустите «1с: Предприятие 8.1» в режиме «Предприятие» и создайте несколько Приходных накладных.
Теперь создадим документ «ПозичивПодивитись» где будут следующие реквизиты:
- Кому (соответствующий справочник «Друг»)
- Дата возвращения (тип дата)
И табличная часть Диски с колонками:
- Диски
- Количество
- Цена
- Сумма
(последние три позиции чтобы выбить деньги если не отдаст
)
Для колонок количество и цена прописывает аналогичные процедуры как и для прихиднои накладной. Только не забываем что табличная часть называется не «Товар», а «Диски» (где заменить думайте сами
).
Мы учим программирования по принципу: «Вот бассейн учитесь плавать, а воду мы дадим позже».
Подпишитесь на RSS канал сайта. Это дает Вам преимущество в скорости получения обновлений и свежей информации.
Начало хорошее. Добавил в закладки, завтра обязательно дочитаю