Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_1C__2_1.doc
Скачиваний:
19
Добавлен:
10.05.2015
Размер:
543.23 Кб
Скачать

2.13 Первый документ. Приход денег

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

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

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

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

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

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

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

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

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

  8. Документ будет принадлежать журналу – да, Создать новый журнал – "ДвижениеДенег"; Журнал – список документов определенного/определенных видов. Имеет экранную форму.

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

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

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

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

  13. Автоматическая нумерация строк – нет (у нас строк не будет);

  14. Оперативный учет – ДА; Этим мы покажем, что движение осуществляется по регистрам.

  15. Создадим форму документа;

  16. Вставим поле с текстом, где мы укажем название документа;

  17. Расставим элементы экранной формы документа поудобнее;

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

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

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

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

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

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

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

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

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

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

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

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

  30. Добавим новую графу;

  31. Идентификатор – "Сумма";

  32. В возможных значениях отметим Документ.ПриходДенег.Шапка.Сумма;

  33. В выбранных значениях появилось указание на поле документа "Приход денег" "Сумма";

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

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

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

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