- •1. Концепция системы 1с:предприятие
- •1.1 Краткое описание понятий (объектов) системы
- •1.2. Технологические средства конфигурирования и администрирования системы 1с:Предприятие
- •1.3. Понятие «метаданные»
- •1.4. Конфигурация
- •2. Лабораторная работа №1
- •2.1. Постановка задачи
- •2.2. Создание конфигурации и начало работы с метаданными
- •3. Лабораторная работа №2
- •3.1. Константы в системе 1с:Предприятие
- •3.2. Справочники в системе 1с:Предприятие
- •3.3. Перечисления в системе 1с:Предприятие
- •3.4. Создание справочника товаров
- •4. Лабораторная работа №3
- •4.1. Создание справочника складов справочника контрагентов и справочника договоров с контрагентами
- •4.2. Создание справочника контрагентов
- •4.3. Создание справочника договоров с контрагентами
- •5. Лабораторная работа №4
- •5.1. Документы в системе 1с:Предприятие
- •5.2. Журналы в системе 1с:Предприятие
- •5.3. Регистры в системе 1с:Предириятие
- •5.4. Хранение данных по взаиморасчетам с контрагентами
- •6. Лабораторная работа №5
- •6.1. Отчеты в системе 1с:Предприятие
- •6.2. Создание отчета
- •7. Лабораторная работа №6
- •7.1. Создание документа "Изменение цен"
- •7.2. Создание регистров по товарам
- •8. Лабораторная работа №7
- •8.1 Приходная накладная
- •8.2. Отчет по остаткам на складе
- •9. Лабораторная работа №8
- •9.1. Создание перечисления "МетодСписания"
- •9.2. Создание расходной накладной
- •10. Лабораторная работа №9
- •10.1. Создание отчета "ОбороткаПоДолгам"
- •10.2. Создание отчета "ОбороткаПоСкладу"
- •10.3. Создание отчета по прибыли с товара
- •10.4. Создание отчета по обороту товара
- •11. Теоретические вопросы по компоненте «оперативный учет» системы 1с: предприятие
- •12. Примеры практических задании
5.4. Хранение данных по взаиморасчетам с контрагентами
С контрагентами будут вестись разные торговые операции, и, соответственно, платить поставщикам за отгруженный товар, а от покупателей получать деньги за проданный. Для ввода данных по хозяйственным операциям в 1С служит такой объект метаданных, как "Документ". Документами мы сможем вводить данные по приходу/перемещению/отгрузу товара, приходу/расходу денег, но хранить текущее состояние остатков на складе и состояние взаимозадолженности с контрагентами в документах нельзя. Эту информацию можно хранить в справочнике, если добавить соответствующие поля, но это крайне неэффективно и не удобно. Для такой цели в 1С есть специальный механизм. Этот механизм использует объект метаданных "Регистр" — в оперативном учете (для Бухгалтерии - "ПланСчетов", для Расчета - "Журнал расчетов").
Необходимо сконструировать регистр взаиморасчетов. У него будет только два измерения: "Контрагент" и "Договор" и один ресурс: "Сумма". Регистр будет типа регистр остатков. Если сумма будет меньше нуля/ контрагент должен нам, если больше — мы должны контрагенту. Завести один реквизит - "ФлагДвижения" - типа число, который будет принимать следующие значения при изменении состояния регистра:
1 — изменение долга за поставленный нам товар;
2 — изменение долга за проданный нами товар;
3 — изменение долга оплатой за поставленный нам товар;
4 — изменение долга оплатой за проданный нами товар.
Идентификатор: Взаиморасчеты Тип: Остатки Периодичность: - |
|||
Измерения |
|||
Идентификатор |
Комментарий |
Тип значения |
Дополнительно |
Контрагент |
с кем мы ведем дела |
С.Контрагенты |
Д |
Договор |
по какому договору |
С.Договора |
Д, И |
Ресурсы |
|||
Идентификатор |
Комментарий |
Тип значения |
Дополнительно |
Сумма |
Сумма долга |
Число 15.2 |
|
Реквизиты |
|||
Идентификатор |
Комментарий |
Тип значения |
Дополнительно |
ФлагДвижения |
тип движения |
Число 1.0 |
+ |
Здесь:
Д - отбор движений;
И - отбор итогов;
+ - не отрицательный;
Движения по регистру будут следующие:
Приход — приход товара (общей суммой) либо денег;
Расход - отгруз товара (общей суммой) либо выплата денег.
-
Создать новый регистр.
-
Идентификатор - "Взаиморасчеты", Комментарий "Регистр взаиморасчетов с контрагентами". Измерения, ресурсы, реквизиты - по таблице. Тип регистра — остатки, быстрая обработка движений - по желанию.
Теперь необходим документ, который позволит вводить эти взаиморасчеты. Первым документом будет документ "Приход денег".
В любом документе в 1С есть два поля, присутствующих всегда. Это "ДатаДок" - дата документа и "НомерДок" - номер документа. 1С позволяет завести несколько полей, которые будут присутствовать во всех документах. Это "Общие реквизиты" документа. Заведем один такой общий реквизит - "Комментарий" текстового типа длиной не более 100 символов.
-
Войти в ветвь "Документы" дерева метаданных.
-
Установить курсор на раздел "Общие реквизиты".
-
Ввести новый общий реквизит.
-
Идентификатор - "Комментарий", тип - Строка, длина - 100.
Структура документа "Приход денег": кроме полей с датой, номером и комментарием, понадобится указание — кто платит деньги? — "Контрагент", на каком основании он платит деньги? - "Договор", сколько денег он платит? - "Сумма". Типы полей "Контрагент" и "Договор" - соответствующие справочники. Поле "Сумма" - число 9.2. Создать этот документ.
-
Идентификатор - "ПриходДенег", Синоним - "Приход денег". Комментарий — "приход денег от контрагента".
-
Документ будет проводиться - да, при записи документ будет перепроводиться - да.
-
Документ будет принадлежать журналу - да, Создать новый журнал - "ДвижениеДенег"; Журнал - список документов определенного/определенных видов. Имеет экранную форму.
-
И документ, и журнал вставить в экранное меню.
-
Открылось окно свойств документа.
-
В перечень реквизитов шапки занести реквизиты - "Контрагент", "Договор", "Сумма". Табличной (многострочной) части в этом /документе нет.
-
Нумератор не назначен, Периодичность — год: Периодичность - это свойство, которое означает насколько часто будет появляться документ с номером 1.
-
Автоматическая нумерация строк — нет (строк не будет).
-
Оперативный учет - ДА. Этим показывается, что движение осуществляется по регистрам.
-
Создать форму документа.
-
Вставить поле с текстом, где указать название документа.
-
Расставить элементы экранной формы документа поудобнее.
-
В свойствах поля договор на закладке "Дополнительно" в поле "связан с" написать "Контрагент". Справочник "Договора" подчиненный, и в форме документа указывается, что договора будут браться, принадлежащие ранее указанному контрагенту.
-
Сделать, чтобы при выборе другого контрагента поле договор очищалось. Для этого в свойствах поля ввода "Контрагент" на закладке "Дополнительно" написать формулу Контрагент().
-
В модуле формы написать следующую процедуру:
Перем СтКонтрагент;
// Это мы добавили переменную, область действия которой
// весь модуль формы документа
Процедура ПриОткрытии()
// Это предопределенная процедура, запускается при возникновении
// события — открытие формы документа
// Она сформировалась автоматически, как мы указали в визарде соз
дания
// документов
ПриЗаписиПерепроводить(1);
Это означает, что если мы проведенный документ изменили, то при
попытке его сохранения программа попытается его перепровести
СтКонтрагент=Контрагент;.
II Инициализируем переменную СтКонтрагент значением реквизита
Контрагент
КонецПроцедуры
//--------------------------------------------------
Процедура Контрагенте Если КонтрагентоСтКонтрагент Тогда // В
поле Контрагент содержимое изменилось Договор-"';
// Очищаем поле Договор СтКонтрагент-Контрагент;
// Инициализируем переменную СтКонтрагент новым значением
// реквизита Контрагент
КонецЕсли;
КонецПроцедуры
-
Закрыть форму.
-
Открыть Модуль документа.
-
Переписать процедуру ОбработкаПроведения:
Процедура ОбработкаПроведения()
// Предопределенная процедура, запускающая механизмы регистра
ции движений
Если Контрагент.Выбран()=0 Тогда
II ВыбранО - метод, возвращающий состояние поля ввода = 1, если
поле
// заполнено и 0 если нет Предупреждение("Контрагент не выбран");
// Вызовем на экран информационное окно с сообщением НеПрово
дитьДокумент();
// Указываем, что документ заполнен неправильно - он не должен
быть проведен
КонецЕсли;
Если Договор.Выбран()=0 Тогда Предупреждение("Договор не вы
бран"); НеПроводитьДокумент(); КонецЕсли;
Если Договор.Да гаДоговора>ДатаДок Тогда // Договор еще не был
заключен на дату документа Предупреждение("Неверная дата дого
вора"); НеПроводитьДокумент(); КонецЕсли;
// Теперь будем заполнять поля регистра "Взаиморасчеты"
Регистр.Взаиморасчеты.Контрагент = Контрагент;
Регистр. Взаиморасчеты. До говор = Договор:
Регистр.Взаиморасчеты.Сумма = Сумма;
// Движение — поступление денег за продаваемый нами товар
// ФлагДвижения — 4
Регистр. Взаиморасчеты. ФлагДвижения = 4;
// Наш долг возрос либо долг контрагента уменьшился — на регистр
//пишем сумму приходом
Регистр.Взаиморасчеты. ДвижениеПриходВыполнить();
КонедПроцедуры
-
Закрыть модуль документа.
-
Закрыть окно свойств документа.
-
Перейти к редактированию журнала.
-
Войти в редактирование журнала "ДвижениеДенег".
-
Добавить новую графу.
-
Идентификатор - "Сумма".
-
В возможных значениях отметить Документ.ПриходДенег.Шапка.Сумма.
-
В выбранных значениях появилось указание на поле документа "Приход денег" "Сумма".
-
Войти в форму списка журнала.
-
Разместить графы журнала как будет удобнее, и поменять им ширину, чтобы все было видно.
-
Закрыть форму списка журнала и окно свойств журнала.
-
Сохранить конфигурацию.
Теперь попробуйте набрать несколько документов в системе 1С-Предприятие и попробуйте провести их.
Для того чтобы корректно работать с документами в системе 1С Предприятие, необходимо установить точку актуальности итогов, для чего необходимо:
-
Открыть 1С Предприятие;
-
Через меню "Операции" команда "Управление оперативными итогами";
-
Поставить дату актуальности итогов на 01.10.2003;
-
Нажать [Установить];
-
Появился вопрос "Изменить Точку Актуальности итогов";
-
Ответить [Да];
-
Появилось сообщение, что изменение точки актуальности завершено. Подтвердить получение сообщения;
-
Выйти из окна управления итогами.
Для того чтобы посмотреть, какие движения произвел проведенный ранее документ, необходимо:
-
Поставить курсор на документ;
-
Меню "Действия", команда "Движения документа". Появилось окошко. В нем галочка стоит на строке с надписью "Взаиморасчеты". Это означает, что движение было только по этому регистру. Здесь есть еще строчка — "Реквизиты справочников". Документ при проведении может менять значения периодических реквизитов справочников! (Если, конечно, это прописать в процедуре ОбработкаПроведения).
-
Выбрать эту строку. Появилось окно "Движения регистров Взаиморасчеты (Например: Приход денег 1 (02.10.2003))".