Подбор ставок НДС в счете поставщика. БП 3.0

03.03.25

Разработка - Инструментарий разработчика

Подключаемая обработка табличной части. Шпаргалка: как написать, отладить на примере создания обработки Подбор ставок НДС для строк документа "Счет от поставщика". БП 3.0.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Подключаемая обработка табличной части Подбор ставок НДС для строк документа "Счет от поставщика". БП 3.0 с возможностью отладки.:
.epf 15,66Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.
    Так сложилось, что мне вздумалось вводить счета от поставщика в БП 3.0. Да, можете считать это излишним, но это решение обернулось очень увлекательной задачей. Наш основной поставщик расходников указывает в счете только общую сумму НДС, когда строк в документе становится больше 3х, начинается квест по подбору ставок. Я решил это немного автоматизировать с помощью подключаемой обработки табличной части. 

    Когда написал обработку, хотел подглядеть шаблон, откуда содрать вызов. Наткнулся на древнюю статью 2018 года //infostart.ru/1c/articles/825702/ написанную Mirage78, и заметил, что интерес к ней проявляется до сих пор. Вариантов решения было предложено несколько. Не всё в них работало, или нравилось. Однако полезная информация там есть.

    Эта же публикация создана для тех, кому нужно просто решение задачи, и для тех, кому пригодится конспект-шаблон для создания обработок табличной части. 

    Итак, приступим.

 

Задача. Имеем счет от поставщика, в строках счета указаны цены, в итогах счета  общая сумма НДС.

 

Создадим обработку, в нее добавим:

 

- реквизит "Документ" - с типом ДокументСсылка.СчетНаОплатуПоставщика;

- табличную часть Товары - в ней будем отображать результат подбора ставок;

- табличную часть Варианты -  в ней будем хранить подходящие варианты комбинаций ставок;

- табличную часть СтавкиВариантов - в ней будем хранить для каждой строки варианта ставки НДС для каждой строки табличной части Товары.

 
 Обработка

 

Заполним в модуле объекта функцию СведенияОВнешнейОбработке():

 
 СведенияОВнешнейОбработке()

 

Создадим форму и накидаем на нее элементов

 
 Форма

 

    Через меню формы создаем процедуру "ПриСозданииНаСервере"

Так как отладка подключаемых обработок то ещё дело, здесь стоит упомянуть место, где можно тормознуться для просмотра передаваемых параметров открытия формы. Вызов зарегистрированной обработки идет из общего модуля ДополнительныеОтчетыИОбработкиКлиент в процедуре  ОбработчикКомандыЗаполнения() строкой ОткрытьФорму("ВнешняяОбработка."+ ИмяВнешнегоОбъекта +".Форма", ПараметрыВызоваСервера, Форма); 

    На данный момент так, в дальнейшем вызов может, конечно, поменяться.

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

 
 ПриСозданииНаСервере

   

Далее, в процедуре ПриОткрытии актуализируем информацию о документе источнике, вызвав процедуру обновления данных при смене документа. 

 
 ПриОткрытии

    На изменение документа источника отреагируем перезаполнением 

 
 ДокументПриИзменении

    Далее идут сервисные процедуры/функции заполнения и перерасчета строк документа при изменении ставки ндс интерактивно:

 
 Прочее сервисное

 

    Теперь можно приступать к самой обработке подбора.

 
 Рассчитаем все возможные ставки НДС по строкам и обойдем таблицу сочетаний и запомним подходящие сочетания

    Найденные варианты сочетаний выводим на форму для выбора и пересчитываем по ним данные в текущей форме в табличной части "Товары"

 
 Процедуры выбора варианта и пересчета табличной части

 

  При выборе варианта, табличная часть обработки перезаполняется:

 
Как это работает

   

Когда мы получили устраивающий нас вариант, встает задача перенести результат в документ владелец формы. Для этого мы работаем с объектом формы владельца:

 
 Перенос данных в форму документа владельца (при желании, непосредственное сохранение документа)

 

    Таким образом, мы получили внешнюю обработку табличной части с возможностью отладки.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.171.16

Подключаемая обработка табличной части Подбор ставок НДС для строк документа

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    177038    981    403    

940

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    18284    124    63    

127

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    18603    49    19    

83

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    28777    100    48    

146

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    12723    49    33    

72

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18562    7    32    

43

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1637    2    0    

5
Оставьте свое сообщение