Найти тему
1С: Программирование

Урок 78. Задача 1. Разработка решения для учета товара - часть 3

Приветствую!

Продолжаем работать с задачей учета товара. Задача будет продолжаться, то есть будем дополнять функционал, к существующему функционалу!

Предыдущую задачу можно посмотреть тут: Урок 76 (Часть 1), Урок 77 (Часть 2).

Условие задачи такое же, только меняется одно условие - ведется складской учет товаров.

Заказчик ставит задачу:

1. Разработать новую конфигурацию (или модернизировать существующую, с учетом новых спецификаций).
2. Учет товаров ведется в разрезе складов. Склад выбирается в табличной части для каждого товара.
3. Построить отчет по остаткам следующего вида (Рисунок 1).
Рисунок 1
Рисунок 1

Условия задачи немного изменились, но не принципиально! Добавились склады, на каждом из которых есть свое количество какого-то товара и это склады нужно вывести в отчет!

Примечание: задача идентичная, то есть почти ничего не изменилось, кроме выше сказанного! Следующая задача будет такой же, только добавится еще один вид учета и конфигурация будет дорабатываться!

Так как, задача почти та же самая, мы не будем создавать новую конфигурацию, а просто отредактируем существующую! Откроем предыдущую конфигурацию, сделаем выгрузку и загрузим в чистую информационную базу! В ней и начнём делать изменения!

Как создать новую информационную базу - написано тут, Урок 1.

Как загрузить файл с расширением ". dt" - написано тут, Урок 3.

Открываем дерево конфигурации, загружаем файл конфигурации предыдущего урока.

Нужно добавить в старую конфигурацию всего несколько моментов: объект, который будет содержать информацию о складах и связать эти склады с документами, а так же фиксировать в регистре данные о складе.

Склады можно добавить несколькими способами: добавить ил через справочник или добавить через перечисление.

Если делать первым способом, то пользователь сам сможет добавлять склады, если это будет еще необходимо.

Если делать вторым способом, то будет статичный выпадающий список с тем количеством складов, которые были указаны разработчику! И чтобы добавить еще склады, пользователю нужно будет обращаться к разработчику для внесения изменений!

Добавляем справочник "Склады" (Рисунок 2).

Рисунок 2
Рисунок 2

Добавим в качестве пользователя нужные данные (Рисунок 3).

Рисунок 3
Рисунок 3

Откроем теперь табличные части документом и добавим столбец "Склад" с ссылкой на справочник "Склады" (Рисунок 4).

Рисунок 4
Рисунок 4

Проверим теперь в режиме пользователя в документах (Рисунок 5).

Рисунок 5
Рисунок 5

И теперь необходимо сделать так, чтобы все нужные данные попадали в регистр накопления, так как именно по нему мы будем строить отчет и выбирать нужные данные.

Открываем регистр и изменим структуру (Рисунок 6).

Рисунок 6
Рисунок 6

После этого нужно перейти в каждый документ и настроить проведение, чтобы данные правильно поступали в регистр. Не будем забывать, что должен быть сделан учет отрицательных остатков, то есть нельзя продавать в минус и все остальное, что делали в предыдущей работе.

Примечание! Если вы будете редактировать документ с существующим движением, то он выдаст вам предупреждение (Рисунок 7). Игнорируете это предупреждение и нажимаете "Да". Таким образом вы просто обнулите весь код, который находится в модуле этого объекта.
Рисунок 7
Рисунок 7

Открываем документ "Приход" и настраиваем приход товара (Рисунок 8).

Рисунок 8
Рисунок 8

После того, как нажмете "Ок", будет сформирован новый код. Просто закройте его - для прихода и регистрации данных в регистре этого достаточно.

Открываем документ "Уход товара" и настраиваем движение (Рисунок 9).

Рисунок 9
Рисунок 9

После этого нужно настроить проверку остатков.

При написании запроса на проверку отрицательных остатков можно сделать двумя способами: проверка сразу всех складов или сделать проверку по конкретному складу. Конечно проще сделать по конкретному складу и проверка будет происходить быстрее.

Открываем модуль объекта документа и прописываем там код, который очень похож на код предыдущего урока (Рисунок 10).

Рисунок 10
Рисунок 10

Делаем поступление товаров (Рисунок 11).

Рисунок 11
Рисунок 11

Делаем уход товаров и получаем уведомление (Рисунок 12).

Рисунок 12
Рисунок 12

И осталось сделать отчет по регистру.

Открываем созданный отчет и редактируем его. Открываем созданную схему компоновки и заходим в конструктор запроса, чтобы его изменить (Рисунок 13).

Рисунок 13
Рисунок 13

Выбираем данные для отчета (Рисунок 14).

Рисунок 14
Рисунок 14

Получаем запрос (Рисунок 15).

Рисунок 15
Рисунок 15

Переходим на вкладку "Ресурсы" и указываем ресурс, который будет отвечать за подсчет итоговый (Рисунок 16).

Рисунок 16
Рисунок 16

Не забываем, что отчет должен строится на конец дня, учитывая последнюю секунду дня (Рисунок 17).

Рисунок 17
Рисунок 17

Переходим на вкладку "Настройки", удаляем там все (Рисунок 18).

Рисунок 18
Рисунок 18

Создаем таблицу (Рисунок 19).

Рисунок 19
Рисунок 19

Выбираем ресурс (Рисунок 20).

Рисунок 20
Рисунок 20

Выбираем строки и столбцы (Рисунок 21).

Рисунок 21
Рисунок 21

Выбираем упорядочивание - товар, по возрастанию (Рисунок 22).

Рисунок 22
Рисунок 22

Получаем (Рисунок 23).

Рисунок 23
Рисунок 23

Сформируем отчет (Рисунок 24).

-24

И осталось сделать над отчетом текст с надписью дня формирования отчета (Рисунок 25).

Рисунок 25
Рисунок 25

Чтобы его сделать, нужно обратиться к предыдущему уроку - Урок 77.

На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!

Всем спасибо.

Задать вопросы, которые у вас возникли вы можете, написав комментарий или вступить в группу и задать там свой вопрос, а так же можно на канале нажать кнопку "Написать сообщение".

Ссылка для вступления телеграм-канал - t.me.Apiscourses

Подписаться в группу ВКонтакте

Или написать на электронную почту - awesome.razrab@yandex.ru

Ссылка для вступления в чат на Дзен - https://yandex.ru/chat/#/join/34271c4c-039e-4d1d-97af-b24b3204ad08.

Благодарности:

Буду благодарен за чаевые - https://yoomoney.ru/to/4100116532836145.

Прошлые уроки:

Введение Урок 1 Урок 2 Урок 3 Урок 4 Урок 5 Урок 6 Урок 7 Урок 8 Урок 9 Урок 10 Урок 11 Урок 12 Урок 13 Урок 14 Урок 15 Урок 16 Урок 17 Урок 18 Урок 19 Урок 20 Урок 21 Урок 22 Урок 23 Урок 24 Урок 25 Урок 26 Урок 27 Урок 28 Урок 29 Урок 30 Урок 31 Урок 32 Урок 33 Урок 34 Урок 35 Урок 36 Урок 37 Урок 38 Урок 39 Урок 40 Урок 41 Урок 42 Урок 43 Урок 44 Урок 45 Урок 46 Урок 47 Урок 48 Урок 49 Урок 50 Урок 51 Урок 52 Урок 53 Урок 54 Урок 55 Урок 56 Урок 57 Урок 58 Урок 59 Урок 60 Урок 61 Урок 62 Урок 63 Урок 64 Урок 65 Урок 66 Урок 67 Урок 68 Урок 69 Урок 70 Урок 71 Урок 72 Урок 73 Урок 74 Урок 75 Урок 76 Урок 77

На этом все. Жду Вас на следующем занятии.

P.S. Подписывайтесь на мой канал :-)

программирование программирование 1с 1с предприятие обучение онлайн обучение 1с