Дт Кт Сумма Количество
Товары Поставщики 10000 20
В сущности, по счету Товары нам количество нужно, а по счету Поставщики нам количество не нужно. По счету Поставщики ресурс количество никогда не сводится в 0, этот ресурс будет постоянно только расти и в таблице Остатков по регистру будут очень большие значения.
Хотелось бы по счету Товары количественный учёт иметь, а по счету Поставщики его не вести. Для того чтобы по каким-то счетам вести количественный учёт, а по каким-то нет, в плане счетов можно создать разделение, так называемый признак учета по счету.
Создадим признак учета по счету в Плане счетов на закладке Данные в реквизитах.
Добавим признак учета:
Имя - Количественный
Тип значения – булево.
Определим этот признак для предопределенных счетов: для счета Товары установить флажок для признака учета Количественный, а остальные счета не будут количественными. Теперь у нас по счету Товары будет накапливаться ресурс Количество, а по счету Поставщики – нет.
Создадим в регистре бухгалтерии ресурс Количество:
Имя - Количество
Тип значения - Число (Длина - 12, Точность - 3)
В свойствах ресурса на закладке Представление организуем связь ресурса с признаком учета: Признак учета – Количественный.
Т.е. система будет накапливать ресурс, если в проводке используется счет, по которому стоит соответствующий признак учета, иначе - нет.
У реквизита стоит флажок Балансовый - это более приоритетная команда, чем признак учета. Т.е. если флажок останется, то система будет накапливать Количество у обоих счетов проводки. Если нам нужно, чтобы количество на другом корреспондирующем счете не накапливалось, то у ресурса Количество флажок Балансовый надо снять.
Технология добавления ресурса в регистр бухгалтерии:
1. определить будет ли ресурс накапливаться по всем счетам, если нет, то нужно создать признак учета, который будет отвечать за то, по каким счетам ресурс будет накапливаться;
2. определить будут ли проводки, в которых для корреспондирующих счетов по этому ресурсу в одних счетах накапливаются данные, а в других - нет. Если такие проводки будут, то тогда в свойствах ресурса флажок балансовый надо снять;
Исправим документ Поступление товаров так, чтобы при поступлении товаров в регистр бухгалтерии записывались данные не только по выручке, но и по количеству.
Это можно сделать, создав движение по регистру с помощью конструктора движения, либо вручную в модуле объекта в процедуре ОбработкаПроведения для регистра бухгалтерии в цикле дописать строку:
Движение.КоличествоДт = ТекСтрокаСписокТоваров.Количество;.
Перепроведем документы поступления Товаров. Просмотреть записи в поле КоличествоДт движениях о регистру бухгалтерии.
Отчет «Остатки ТМЦ»
Теперь создадим Отчёт Остатки ТМЦ, который позволит посмотреть какие товары хранятся на складах, в каких количествах и на какую сумму.
Имя - ОстаткиТМЦ
Создадим отчет с помощью Системы компановки данных. В схеме компановки данных зададим запрос для вывода данных из виртуальной таблицы Остатки регистра бухгалтерии Управленческий. Ознакомьтесь также, какие виртуальные таблицы существуют для регистров бухгалтерии.
Нам надо вывести отчет по всем счетам, которые работают с ТМЦ. Как определить, что этот счет работает с товарно-материальными ценностями? Ведь пользователь может создать свои собственные счета, работающие с ТМЦ.
Можно определить, что этот счет работает с ТМЦ, по тому, что он
1. работает с номенклатурой (т.е. по субконто)
Это указывается в параметрах виртуальной таблицы. Она имеет следующие параметры:
Период – дата для расчёта остатков;
Условия счёта – можно наложить условия на счёт или любые его свойства, в том числе на признак видов субконто, родитель, код, …, сам счёт; (если ограничения нет , система сформирует отчёт по всем счетам).
Субконто – это не отбор по значению аналитического учёта, а отбор по виду аналитического учёта.
Условия – для наложения различных уловий.
В параметрах виртуальной таблицы зададим, что счет должен иметь субконто Номенклатура (параметр &ВидСубконто при выполнении зададим Номенклатура).
Тип значения субконто – это элементы объекта Планы Видов Характеристик – т.е. некоторое количество справочников (3 у нас, например, 50 для какого-то регистра бухгалтерии).
Если ограничения по субконто нет, то система соединяет обращения ко всем этим справочникам. Сюда надо передать либо передать элемент Плана Видов Характеристик – например, Номенклатура или Контрагент. Тогда система наложит это ограничение и в отбор войдут только те значения, которые имеют этот тип.
Если параметр Субконто заполнен – то запрос отрабатывается намного быстрее.
2. По признаку количественного учета:
Зададим Условие счета: счет количественный.
3) счёт должен быть активный.
Счёт Количественный и Счет Вид=&Активный.
Мы задали параметры виртуальной таблицы.
Выберем поля из виртуальной таблицы УправленческийОстатки. В отчете хотим видеть номенклатуру, остаток по сумме и по количеству.
Поэтому выбираем поля:
УправленческийОстатки.Субконто 1 (по счету Товары Номенклатура является Субконто1).
Остаток по сумме у нас в 5 Реквизитах: т.к. счет Активный, остаток находится в Остаток Дт, Развернутый остаток обычно используется в итогах, а итоги мы здесь не подводим и в итогах не будет разных счетов- активных и пассивных, - все счета будут активными, поэтому в данном случае Развернутый остаток Дт будет равен Остаток Дт.
Сумма по остатку в виртуальной таблице хранится в поле СуммаОстаток, а в зависимости от счета потом она возвращает либо Дт, либо Кт. Но в активном счете всегда будут равны СуммаОстаток и СуммаОстатокДт.
Выберем поле УправленческийОстатки.СуммаОстаток
И, аналогично с количеством - УправленческийОстатки.КоличествоОстаток.
Запрос сформирован- ОК.
На закладке Ресурсы – выберем все Ресурсы.
Общий итог по количеству накапливать не имеет смысла, будем рассчитывать только итоги по номенклатурам, то есть Субконто 1.
На закладке Параметры настроим значения параметров:
Параметры ВидСубконто и Активный не редактируются пользователями.
На закладке Настройки сформируем вид отчета:
Команда «Открыть конструктор настроек»:
1. Список
2. выберем КоличествоОстаток и СуммаОстаток
3. В разрезе Субконто 1
4. Сортировка не нужна
Это универсальный отчет, он покажет остатки по все счетам, по которым только есть учет товаров.
Отладим.
Вернемся к документу Продажа товара: при проведении документа мы будем делать проверку: хватает ли нам товара в остатках. В случае если товара хватает – будем делать расчет себестоимости товара по методу среднего. Если товара не хватает, то будем выводить сообщение об этом.
Таблица, которая получается при проведении документа, имеет вид (классическая таблица):
Из документа | Из виртуальной таблицы Остатки регистра бухгалтерии | ||
Номенклатура | Количество | КоличествоОстаток | СуммаОстаток |
Перейдем в модуль объекта документа Продажа товара:
Сформируем в процедуре ОбработкаПроведения запрос для проверки количества товара и расчета себестоимости:
- установить курсор в процедуре ОбработкаПроведения перед формированием движения по регистру бухгалтерии;
- запускаем из контекстного меню Конструктор запроса с обработкой результата;
- выбираем режим Обход результата и Далее;
- на закладке Таблицы и поля из табличной части СписокТоваров документа Продажа товара выбираем поля Номенклатура и Количество;
- чтобы не было повторяющихся значений по номенклатурам на закладкеГруппировка сгруппируем записи по полю Номенклатура, суммируя значения поля Количество;
- на закладку Условия наложим условия по самому документу: ПродажаТоваровСписокТоваров. Ссылка = Ссылка
- полученную таблицу поместим во временную таблицу на закладкеДополнительно. Имя временной таблицы зададим, например, Док;
- если таблица большая, можно её проиндексировать по номенклатуре на закладке Индекс;
- на закладке Пакет запросов добавим второй запрос, который свяжет вместе данные из документа Продажа товаров и виртуальной таблицы Остатки регистра бухгалтерии;
- для второго запроса на закладке Таблицы и поля выбираем все поля из временной таблицы Док;
- для виртуальной таблицы Остатки регистра бухгалтерии сначала настроим параметры виртуальной таблицы:
Мы будем работать со счетом Товары (зададим его потом как значение параметра &Счет), этот счет имеет два субконто (отсюда массив) Номенклатуры и Склады.
- из виртуальной таблицы Остатки регистра бухгалтерии выбираем поля КоличествоОстаток и СуммаОстаток;
- на закладке Связи свяжем эти 2 таблицы:
- Запрос готов - ОК.
Проверим параметры и внесем некоторые изменения:
Запрос. Установить Параметр («Ссылка», Ссылка);
Запрос. Установить Параметр («Момент Времени», Момент Времени( ));
Запрос. Установить Параметр («Счет», ПланыСчетов.Управленческий. Товары);
Опишем массив субконто:
Массив Субконто = Новый Массив(2);
Массив Субконто[0] = ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры;
Массив Субконто[1] = ПланыВидовХарактеристик.ВидыСубконто.Склады;
Запрос. Установить Параметр («Массив Субконто», Массив Субконто);
Запрос. Установить Параметр («Склад», Склад);
Если остатки по товару равны 0, то поля из виртуальной таблицы Остатки Регистра бухгалтерии могут не присоединиться (имеют значение 0 - в регистре отсутствуют) в таблицу результата. Чтобы исключить такую ситуацию в Запрос внесем изменения:
Теперь организуем проверку количества остатков товара и количества, продаваемого товара. Если количество продаваемого товара больше, чем осталось товара, то выдадим сообщение, отменим проведение документа и перейдем к проверке остальных строк документа. Если при проверке количество товара достаточное, то рассчитаем себестоимость товара и сформируем соответствующее движение по регистру бухгалтерии.
Отладим:
1) проведем документ Продажа товаров, посмотрим в регистре бухгалтерии расчет себестоимости.
2) завысим количество продаваемого товара – получим сообщение, что документ не проведен (отменим то проведение и посмотрим, что движения нет).
Дата добавления: 2016-04-19; просмотров: 1549;