1.Внесем изменения в структуру регистра накопления «Остатки номенклатуры».
2.Для хранения истории изменения Учетной политики добавим новый регистр сведений «Учетная политика».
3.Внесем изменения в процедуру «ОбработкаПроведения()» документа «Приходная накладная».
4.Внесем изменения в структуру и форму документа «Расходная накладная».
5.Перейдем к формированию текста процедуры «ОбработкаПроведения()» документа «Расходная накладная»:
a.Получим данные по Учетной политике из периодического регистра сведений.
b.Установим управляемую блокировку:
i.На конфигурацию в целом;
ii.На те записи регистров, по которым осуществляется чтение, а потом – запись.
c.Для того чтобы в дальнейшем была возможность применить алгоритм «Списания по партиям», получим таблицу, содержащую результат соединения данных табличной части проводимого документа с остатками по номенклатуре. При этом выборка по остаткам должна сначала содержать записи по остаткам партий, указанным в документе, в количестве, не больше, чем продаем, а затем –все остальные остатки.
Таблица № 3.1. Желаемый вид таблицы для формирования записей в регистре «Остатки номенклатуры» при проведении документа «Расходная накладная»
При получении таблицы используем механизм запросов.
i.В качестве исходных данных при формировании таблицы возьмем табличную часть документа и информацию об остатках;
Таблица № 3.2. Данные табличной части проводимого документа «Расходная накладная № 1»
Номенклатура | Кол-во | Цена | Сумма | Партия |
---|---|---|---|---|
Товар для проверки | 2 | 205,00 | 410,00 | |
Товар для проверки | 1 | 200,00 | 200,00 | Приходная 1 от 10.01.2022 12:00:00 |
Товар для проверки | 1 | 220,00 | 220,00 | Приходная 3 от 12.03.2022 12:00:00 |
Товар для проверки | 1 | 240,00 | 240,00 | Приходная 3 от 12.03.2022 12:00:00 |
Таблица № 3.3. Информация по остаткам товаров на момент проведения документа
Номенклатура | Партия | Остаток, кол-во | Остаток, сумма |
---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 2 | 200,00 |
Товар для проверки | Приходная 2 от 11.02.2022 12:00:00 | 2 | 220,00 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 3 | 360,00 |
ii.Получим данные табличной части, заменив несколько записей с одинаковыми значениями номенклатуры и партии одной сводной записью;
Таблица № 3.4. Свернутая табличная часть документа
Номенклатура | Партия | Кол-во |
---|---|---|
Товар для проверки | 2 | |
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 2 |
iii.Получим данные по остаткам (Таблица № 3.3);
iv.Для партий, указанных в документе, получим списываемые количества и суммы с учетом остатков. Чтобы в дальнейшем начинать списывать именно с этих партий, в выборку добавлена колонка «Порядок сортировки»;
Таблица № 3.5. Количество и суммы, подлежащие списанию, для указанных в документе партий
Номенклатура | Партия | Кол-во в выбранной партии | Сумма в выбранной партии | Порядок сортировки |
---|---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 | 100,00 | 1 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 2 | 240,00 | 1 |
v.Для партий, указанных в документе, получим остатки за вычетом списанного на предыдущем шаге;
Таблица № 3.6. Оставшиеся количество и суммы для указанных в документе партий
Номенклатура | Партия | Кол-во в выбранной партии | Сумма в выбранной партии | Порядок сортировки |
---|---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 | 100,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 1 | 120,00 | 2 |
vi.Объединив данные таблиц № 3.5 и № 3.6, получим все остатки по партиям, указанным в документе;
Таблица № 3.7. Рассортированные остатки по партиям, указанным в документе
Номенклатура | Партия | Кол-во в выбранной партии | Сумма в выбранной партии | Порядок сортировки |
---|---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 | 100,00 | 1 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 2 | 240,00 | 1 |
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 | 100,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 1 | 120,00 | 2 |
vii.Получим остатки по остальным партиям:
1.Возьмем данные таблицы № 3.7 с обратным знаком и объединим с полными остатками таблицы № 3.3;
Таблица № 3.8. Промежуточная таблица с информацией по остаткам
Номенклатура | Партия | Остаток, кол-во | Остаток, сумма | Порядок сортировки |
---|---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | -1 | -100,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | -2 | -240,00 | 2 |
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | -1 | -100,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | -1 | -120,00 | 2 |
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 2 | 200,00 | 2 |
Товар для проверки | Приходная 2 от 11.02.2022 12:00:00 | 2 | 220,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 3 | 360,00 | 2 |
2.Свернем данные таблицы № 3.
Таблица № 3.9. Остатки по партиям, не указанным в документе
Номенклатура | Партия | Остаток, кол-во | Остаток, сумма | Порядок сортировки |
---|---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 0 | 0 | 2 |
Товар для проверки | Приходная 2 от 11.02.2022 12:00:00 | 2 | 220,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 0 | 0 | 2 |
viii.Получим остатки по всем партиям, упорядоченные необходимым образом, объединив данные таблиц № 3.7 и № 3.9 с последующей сверткой записей по номенклатуре, партии и порядку сортировки;
Таблица № 3.10. Остатки по всем партиям, упорядоченные необходимым образом
Номенклатура | Партия | Остаток, кол-во | Остаток, сумма | Порядок сортировки |
---|---|---|---|---|
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 | 100,00 | 1 |
Товар для проверки | Приходная 1 от 10.01.2022 12:00:00 | 1 | 100,00 | 2 |
Товар для проверки | Приходная 2 от 11.02.2022 12:00:00 | 2 | 220,00 | 2 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 2 | 240,00 | 1 |
Товар для проверки | Приходная 3 от 12.03.2022 12:00:00 | 1 | 120,00 | 2 |
ix.Соединив табличную часть документа (таблицу № 3.4) с таблицей № 3.10, упорядочив результат и добавив итоги по номенклатуре, получим таблицу, вид которой совпадает с видом таблицы № 3.1.
d.Для формирования записей в регистре накопления применим алгоритм «Списание по партиям».
6.Добавим в конфигурацию отчет, отображающий данные по остаткам номенклатуры.
7.Создадим в конфигурации отчет, отображающий данные по продажам:
e.Добавим новый оборотный регистр «Продажи».
f.Внесем изменения в процедуру «ОбработкаПроведения()» документа «Расходная накладная».
g.Создадим отчет.