Лекция: Задание 3. Создание Приходного кассового ордера №2.
3.1. Создание Приходного кассового ордера №2. Созданный ранее Приходный кассовый ордер не является гибким, т.к. нет возможности выбрать интересующий нас корреспондирующий счет. Попытаемся исправить этот недочет. Создадим в нашей конфигурации еще один приходный ордер, но уже более продвинутый. Нет необходимости создавать его заново – воспользуемся копией уже имеющегося ордера. Сначала немного отредактируем старый приходный ордер: Идентификатор – ПриходныйОрдер1, синоним – Приходный кассовый ордер №1. Сохраните изменения метаданных и отредактируйте пользовательское меню.
Для создания копии выделите ПриходныйОрдер1 и выполните команду Действия/Запомнить, а затем – Действия/Вставить. Отредактируем новый приходный ордер. Для этого:
1. В окне метаданных выделите копию ордера и откройте его для редактирования.
2. Идентификатор– ПриходныйОрдер2, синоним – Приходный кассовый ордер №2.
3. Добавьте новые реквизиты:
· КоррСчет. Идентификатор – КоррСчет, Синоним – Корреспондирующий счет, Тип значения – Счет.НашПлан.
· Субконто1. Идентификатор – Субконто1, Синоним – Субконто 1, Тип значения – неопределенный.
· Субконто2. Идентификатор – Субконто2, Синоним – Субконто 2, Тип значения – неопределенный.
Теперь мы сможем выбирать счет в форме диалога.
3.2. Создание экранной формы.Отредактируем экранную форму нового ордера. Для этого:
1.Щелкните по кнопке [Форма].
2. Добавьте новые реквизиты, используя кнопку Реквизиты на нижней панели инструментов.
3. Для реквизита Коррсчет добавьте текстовое поле с заголовком Корреспондирующий счет (см. рис. 5.4). На вкладке Дополнительнопропишите формулу ПриВыбореСчета().
4. Для реквизитов Субконто1 и Субконто2 добавьте текстовые поля с пустым заголовком и формулами (вкладка Дополнительно) КоррСчет.ВидСубконто(1) и КоррСчет.ВидСубконто(2) соответственно.
5. Для новых реквизитов создайте рамку группы (кнопка ).
Рис. 5.4 Экранная форма документа.
6. На вкладке Модуль добавьте процедуру ПриВыбореСчета().
Процедура ПриВыбореСчета()
Для А = 1 По 2 Цикл
НазначитьТип(«Субконто»+А, КоррСчет.ВидСубконто(А));
КонецЦикла;
КонецПроцедуры
7. С помощью кнопки Запустить просмотрите форму в режиме 1С.
3.3. Создание процедуры проведения.Осталось написать процедуру проведения документа. Перейдите в окно свойств документа и щелкните по кнопке [Модуль документа].
Процедура ОбработкаПроведения()
Если Плательщик.Выбран()=0 Тогда
Сообщить(«Документ Приходный ордер №»+НомерДок+" от "+ДатаДок+"
|не проведен.
|Не выбран Плательщик");
НеПроводитьДокумент();
Возврат;
// Встроенная процедура Сообщить() выводит в нижней части 1С сообщение, заключенное в кавычки
КонецЕсли;
// Проверяем заполнение реквизита КоррСчет
Если КоррСчет.Выбран() = 0 Тогда
СтатусВозврата(0); Возврат;
КонецЕсли;
//Сравниваем значения реквизита Плательщик со значениями Субконто1 и Субконто2
Если Субконто1<> Плательщик Тогда
Если Субконто2<> Плательщик Тогда
Сообщить(«Документ Приходный ордер №»+НомерДок+" от "+ДатаДок+"
|не проведен.
|Значение Плательщика не соответствует значению объекта аналитики!");
НеПроводитьДокумент();
Возврат;
КонецЕсли;
КонецЕсли;
//Проверяем значение реквизита Сумма
Если Сумма > 0 Тогда
Операция.НоваяПроводка();
// Создаем проводку
Операция.Дебет.Счет = СчетПоКоду(«50.01», ПланыСчетов.НашПлан);
Операция.Кредит.Счет = КоррСчет;
Операция.Кредит.Счет = КоррСчет;
Операция.Кредит.Субконто(1, Субконто1);
Операция.Кредит.Субконто(2, Субконто2);
Операция.Сумма = Сумма;
Операция.Содержание = Основание;
Операция.СуммаОперации = Сумма;
Операция.Автор = АвторДокумента;
Операция.Записать();
ИначеЕсли Сумма=0 Тогда
Сообщить(«Документ Приходный ордер №»+НомерДок+" от "+ДатаДок+"
|не проведен.
|Введите сумму документа!");
НеПроводитьДокумент();
Возврат;
КонецЕсли;
КонецПроцедуры
Сохраните изменения метаданных, отредактируйте пользовательское меню и перейдите в режим 1С: Предприятие. Откройте Приходный кассовый ордер №2 и поэкспериментируйте с ним: например, не вводите плательщика, или не вводите счет – в этом случае документ проводиться не будет, а в нижней части окна появится соответствующее сообщение:
Заполните все реквизиты корректно и проведите документ. Зайдите в Журнал проводок и убедитесь в том, что документ проведен.