0011 - Конфигурирование в системе "1С:Предприятие 8". Решение бухгалтерских задач - Осталось навести красоту: нарисовать фор

Козырев Д.В. Конфигурирование в системе "1С:Предприятие 8". Решение бухгалтерских задач. 2007

Козырев Д.В.
. Конфигурирование в системе "1С:Предприятие 8". Решение бухгалтерских задач
. 2007
. 
. 
. 
. Данный курс представляет собой вторую ступень изучения конфигурирования в системе "1С:Предприятие 8" и является продолжением курса "Введение в конф
Название: 
Конфигурирование в системе "1С:Предприятие 8". Решение бухгалтерских задач
Автор: 
Козырев Д.В.
Год: 
2007
Издательство: 
Описание: 

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

Осталось навести красоту: нарисовать форму списка документа, которая бы позволила пользователю работать со списком документов "Операция" просматривая проводки активного документа. Вот если бы мы проектировали регистр для финансового планирования (бюджетирования), то вполне вероятно, что документ с сегодняшней датой создавал бы движения с периодом будущего года. Например, если сейчас создается финансовый план на следующий год. Создание формы списка документа "Операция" В диалоге формы размещаем еще одно табличное поле типа РегистрБухгалтерииСписок. Важно! Внимание! В методических целях мы решаем задачу не полностью. Мы не позаботились о копировании документа операции (записи регистра "сами" копироваться не будут, это нужно описывать), мы не подумали об удалении документа: в нашем случае даже помеченный на удаление документ будет иметь активные записи в регистре бухгалтерии. Решение этих задач можно "подсмотреть" в типовом решении "Бухгалтерия предприятия". Формирование движений при проведении документа Этот способ формирования движений можно считать основным: он наиболее удобен для пользователя, так как позволяет задать условия формирования проводок и выполнять сложные расчеты. Давайте научимся проводить документ "Приходная". Для этого на странице свойств документа "Движения" должны быть отмечены свойства (см. Страница свойств "Движения" документа "Приходная" Далее воспользуемся конструктором движений. Количество А ТекСтрокаТоварыДена Счет дебета ПланыСчетов. Товары Счет кредита: ПланыСчетов. Основной Поставщики ТекСтрокаТовары Сумма Табличная часть Товары 2 Назад Далее [Поле Гимма ТекСтрокаТовары Сумма Заполнить выражения LJj(T||r|d |- Содержание Очистить выражения [ ок | Отмена [ Справка Рисунок 18. На самом деле, в целях синтетического учета нам совершенно не обязательно формировать проводки по каждой строке документа - достаточно сформировать одну проводку по документу в целом. Но "на вырост", когда у нас появится аналитический учет, мы сделаем проводки по каждой строке таблицы документа "Товары". В результате модуль объекта документ будет дополнен следующими строками: Листинг 3. Решение задач бухгалтерского учета Движение = Движения. СчетДт = ПланыСчетов. СчетКт = ПланыСчетов. Поставщики; Движение. Сумма = ТекСтрокаТовары. Счета "Товары" и "Поставщики" - предопределенные счета, к которым мы можем обращаться по их имени, при этом в движение будет записано значение типа ПланыСчетовСсылка. Важно! Модуль написан конструктором и в методических целях мы не будем вносить в него изменений (внесенные вручную изменения не позволят нам в дальнейшем пользоваться конструктором, а нам это еще предстоит). Однако, при решении задачи проведения документа в реальной практике следует помнить, что записывать в регистр имеет смысл только проводки, у которых хотя бы один ресурс заполнен. При записи платформа анализирует модифицированность этих наборов записей. И если они модифицированы — они записываются автоматически. Именно поэтому в модуле нет строчки "Движения. Метод "Записать" не рекомендуется использовать еще и потому, что платформа записывает эти наборы записей в той последовательности, в которой они перечислены в метаданных. Это важно для обеспечения параллельности работы разных документов, делающих движения по одним и тем же регистрам. Посмотреть на результаты проведения можно из формы списка документа по кнопке "Перейти - Основной" (см. Период Счет Дт Счет Кг Счмма Содержание Приходная. Движения документа •Запись движений документа без его проведения Существует возможность записи в регистр движений по непроведенному документу. По своей сути, проведение является лишь "флагом", который сигнализирует, что обработка документа закончена. Можно представить ситуацию, когда обработка документа закончена не полностью, но проводки по нему уже должны быть. Нам достаточно сделать этот документ регистратором для выбранного регистра и написать процедуру формирования движений (см. В Документ Расходная Основные Данные Нумерация ► Движения П оследовательности Журналы Формы Макеты Подсистемы Ввод на основании Права Интерфейсы Обмен данными Прочее Разрешить " i Проведение. Оперативное проведение: [Запретить Удаление движений [Удалять д В - Регистры сведений Й Регистры накопления 1 В|р Регистры бухгалтерии I Й ^ Регистры расчета ^ Конструктор движений Продажи ОстаткиНоменклатуры Действия Назад Дале" Закрыть Справка Рисунок 20. Страница свойств "Движения" документа "Расходная" Как только мы сделали его регистратором, в свойстве "Движения" документа появился новый элемент коллекции - набор записей регистра бухгалтерии "Основной". Формирование движений без проведения Процедура КнопкаВыполнитьНажатие(Кнопка) Расходные = Документы. Решение задач бухгалтерского учета НоваяПроводка. СчетДт = ПланыСчетов. Покупатели; НоваяПроводка. СчетКт = ПланыСчетов. Капитал; НоваяПроводка. Сумма = Расходная. СуммаДокумента; Проводки. Записать(); КонецЦикла; КонецПроцедуры Приведенная процедура располагается в модуле формы обработки. Перебирая документы Расходная (для которой мы не описывали обработку проведения, а лишь сделали регистратором) в цикле, используя свойство документа "Движения" мы заполняем набор записей регистра бухгалтерии записываем его регистр. Использование модуля набора записей Как и другие регистры, регистр бухгалтерии имеет модуль набора записей. В этом модуле могут располагаться обработчики событий "При записи" и "Перед записью", которые будут выполняться в момент записи любого набора (пример использования описан в теме "9. И, кроме того, в этом модуле можно разместить экспортные процедуры, функции, переменные, расширяющие возможности регистра бухгалтерии. Приведенный выше пример записи движений документа без его проведения может быть усовершенствован.