Скачиваний:
58
Добавлен:
01.05.2014
Размер:
141.31 Кб
Скачать

4 Документ Приход денег

У нас есть контрагенты и договора с ними, у нас есть место (регистр), где мы можем хранить информацию по взаиморасчетам с ними. Теперь нам нужен документ, который позволит вводить эти взаиморасчеты. Первым нашим документом будет документ "Приход денег".

В любом документе в 1С есть два поля, присутствующих всегда. Это "ДатаДок" – дата документа и "НомерДок" – номер документа. 1С позволяет завести еще, сколько надо полей, которые будут присутствовать во всех документах. Это "Общие реквизиты" документа. Заведем один такой общий реквизит – "Комментарий" текстового типа длиной не более 100 символов. Назначение его ясно из названия.

  1. Входим в ветвь "Документы" дерева метаданных;

  2. Устанавливаем курсор на раздел "Общие реквизиты";

  3. Вводим новый общий реквизит;

  4. Идентификатор – "Комментарий", тип – Строка, длина – 100.

Обговорим теперь структуру нашего документа "Приход денег". Кроме полей с датой, номером и комментарием нам, разумеется, понадобится указание – кто нам эти деньги платит? – "Контрагент", на каком основании он платит нам эти деньги? – "Договор", сколько денег он нам платит? – "Сумма". Типы полей "Контрагент" и "Договор" - соответствующие справочники. Поле "Сумма" будет у нас число. Создадим этот документ.

  1. Вводим новый документ;

  2. Идентификатор – "ПриходДенег", синоним – "Приход денег", комментарий – "приход денег от контрагента";

  3. Документ будет проводиться – да, при записи документ будет перепроводиться – да;

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

4. Документ будет принадлежать журналу – да, Создать новый журнал – "ДвижениеДенег";

Журнал – список документов определенного/определенных видов. Имеет экранную форму.

  1. И документ, и журнал вставим в экранное меню;

  2. Открылось окно свойств документа;

  3. В перечень реквизитов шапки занесем наши реквизиты – "Контрагент", "Договор", "Сумма". Табличной (многострочной) части в этом документе нет, нумератор – не назначен, периодичность – год;

Периодичность – это как часто будет появляться документ с номером 1.

  1. Автоматическая нумерация строк – нет (у нас строк не будет), оперативный учет – ДА;

Этим мы покажем, что движение осуществляется по регистрам.

  1. Создадим форму документа, вставим поле с текстом, где мы укажем название документа, расставим элементы экранной формы документа поудобнее;

  2. В свойствах поля договор на закладке "Дополнительно" в поле "связан с" пишем "Контрагент" (рисунок 1);

Рисунок 1 – Свойства поля ввода «Договор»

Справочник "Договора" у нас подчиненный, и мы в форме документа указываем, что договора мы будем брать, принадлежащие ранее указанному контрагенту.

  1. Мы желаем, чтобы при выборе другого контрагента, поле договор очищалось;

  2. В свойствах поля ввода "Контрагент" на закладке "Дополнительно" пишем формулу Контрагент();

  3. В модуле формы пишем следующую процедуру: Перем СтКонтрагент; // Это мы добавили переменную, область действия которой // весь модуль формы документа //----------------------------------------------- Процедура ПриОткрытии() // Это предопределенная процедура, запускается при возникновении // события – открытие формы документа // Она сформировалась автоматически, как мы указали в визарде создания // документов   ПриЗаписиПерепроводить(1); // Это означает, что если мы проведенный документ изменили, то при // попытке его сохранения программа попытается его перепровести   СтКонтрагент=Контрагент; // Инициализируем переменную СтКонтрагент значением реквизита Контрагент КонецПроцедуры //----------------------------------------------- Процедура Контрагент()   Если Контрагент<>СтКонтрагент Тогда // В поле Контрагент содержимое изменилось     Договор=""; // Очищаем поле Договор     СтКонтрагент=Контрагент; // Инициализируем переменную СтКонтрагент новым значением // реквизита Контрагент   КонецЕсли; КонецПроцедуры

  4. Закроем форму;

  5. Откроем Модуль документа;

  6. Мы видим текст: // ******************** Процедура ОбработкаПроведения() //Здесь следует написать алгоритм проведения документа КонецПроцедуры

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

20. Перепишем процедуру ОбработкаПроведения: Процедура ОбработкаПроведения() // Предопределенная процедура, запускающая механизмы регистрации движений   Если Контрагент.Выбран()=0 Тогда // Выбран() – метод, возвращающий состояние поля ввода = 1, если поле // заполнено и 0 если нет     Предупреждение("Контрагент не выбран"); // Вызовем на экран информационное окно с сообщением     НеПроводитьДокумент(); // Указываем, что документ заполнен неправильно – он не должен быть проведен   КонецЕсли;   Если Договор.Выбран()=0 Тогда     Предупреждение("Договор не выбран");     НеПроводитьДокумент();   КонецЕсли;   Если Договор.ДатаДоговора>ДатаДок Тогда // Договор еще не был заключен на дату документа     Предупреждение("Неверная дата договора");     НеПроводитьДокумент();   КонецЕсли; // Теперь будем заполнять поля регистра "Взаиморасчеты"   Регистр.Взаиморасчеты.Контрагент = Контрагент;   Регистр.Взаиморасчеты.Договор = Договор;   Регистр.Взаиморасчеты.Сумма = Сумма; // Движение – поступление денег за продаваемый нами товар // ФлагДвижения = 4   Регистр.Взаиморасчеты.ФлагДвижения = 4; // Наш долг возрос, либо долг контрагента уменьшился – на регистр // пишем сумму приходом   Регистр.Взаиморасчеты.ДвижениеПриходВыполнить(); КонецПроцедуры

  1. Закрываем модуль документа;

  2. Закроем окно свойств документа;

  3. Переходим к редактированию журнала. Находим журнал "ДвижениеДенег";

  4. Входим в редактирование журнала;

  5. Добавим новую графу, идентификатор – "Сумма", в возможных значениях отметим Документ.ПриходДенег.Шапка.Сумма, в выбранных значениях появилось указание на поле документа "Приход денег" "Сумма";

  6. Входим в форму списка журнала;

  7. Разместим графы журнала, как будет удобнее, и поменяем им ширину, чтобы все было видно;

  8. Закроем форму списка журнала и окно свойств журнала;

  9. Сохраним конфигурацию.

Соседние файлы в папке Отчет по производственной практике