ERP. Расчет даты платежа. Не учитывается производственный календарь

23.07.26

Задачи пользователя - Корректировка данных

Если вы используете соглашения об условиях закупок и в условиях отсрочки стоит значение "По рабочим дням производственного календаря", то, вероятно, вы столкнетесь с проблемой неверного расчета даты оплаты. Алгоритм не учитывает настройку "..по рабочим дням.." и рассчитывает дату по календарным дням. Предлагается решение, как исправить эту проблему.

Файлы

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

Наименование Скачано Купить файл
Исправление даты оплаты
.cfe 7,93Kb
2 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В базе ЕРП столкнулся с проблемой: неверно рассчитывается дата оплаты по условиям закупок. Не учитывается настройка отсрочки "По календарным дням производственного календаря". Это сильно мешает нормальной работе, т.к. сбивается платежный календарь, даты приходится править руками. Проблема проявляется, если этапы оплаты считаются по заказам.

Анализ показал, что проблема в алгоритме заполнения этапов оплаты. Если накладная (документ поступления) оформлен по заказу, то алгоритм получает параметры соглашения и условия оплаты по заказу в отдельной "ветке", где текст запрос собирается по кусочкам в зависимости от различных условий. И после "сборки" и выполнения запроса значение "календарь" всегда будет пустым, неважно что стоит в соглашении.

Пример

Например, вот соглашение, в котором мы видим, что в условиях закупок стоит "5" дней от "даты отгрузки" и в условиях отсрочки выбран вариант "по рабочим дням производственного календаря".

Оформляем поступление. У нас документ от 16.07.26 - это четверг. Дату отгрузки начинаем считать со следующего дня после отгрузки - с 17.07.26.

17.07.26 - пятница, учитываем - 1 день
18.07.26 - суббота, НЕ учитываем
19.07.26 - воскресенье, НЕ учитываем
20.07.26 - понедельник, учитываем - 2 день
21.07.26 - вторник, учитываем - 3 день
22.07.26 - среда, учитываем - 4 день
23.07.26 - четверг, учитываем - 5 день.

Т.е. в документе поступления должна стоять дата: 23.07.26.
Но мы видим, что стоит 21. 07.26, т.е. алгоритм не учел, что 18,19 число должны выпадать и засчитал их. В этом суть проблемы. 

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

&Перед("ЗаполнитьЭтапыОплатыДокументаПоШаблону")
Процедура ИспрДатыОплаты_ЗаполнитьЭтапыОплатыДокументаПоШаблону(ЭтапыГрафикаОплаты, ПараметрыЗаполнения)
	
	//в таблице ШаблонГрафика не заполнен календарь, хотя в параметрах он есть.
	//заполним его, чтобы он участвовал в расчетах графика
	//что делаем: В таблице ПараметрыЗаполнения.ШаблонГрафика заполняем колонку "Календарь" из значения в структуре ПараметрыЗаполнения.Календарь
	//где используется: 
	//	-Документ.ПоступлениеТоваровУслуг.Форма Закладка "Основное" гиперссылка "Оплата". 
	//		Открывается форма "Правила оплаты" (ОбщаяФорма.ЭтапыОплатыПоставщику)
	//		Кнопка "Заполнить по заказам" - заполняет таблицу оплат, где неверно рассчитывается дата платежа (не учитывается производственный календарь)
	//	-Платежный календарь (Обработка.ПлатежныйКалендарь.Форма.Форма) - там встают оплаты.
	
	Если ТипЗнч(ПараметрыЗаполнения) = Тип("Структура") Тогда
		Если ПараметрыЗаполнения.Свойство("Календарь")
		   И ТипЗнч(ПараметрыЗаполнения.Календарь) = Тип("СправочникСсылка.ПроизводственныеКалендари") 
		   И ЗначениеЗаполнено(ПараметрыЗаполнения.Календарь) 
			Тогда
		   
			Если ПараметрыЗаполнения.Свойство("ШаблонГрафика") 
				И ТипЗнч(ПараметрыЗаполнения.ШаблонГрафика) = Тип("ТаблицаЗначений")
				И ПараметрыЗаполнения.ШаблонГрафика.Колонки.Найти("Календарь") <> Неопределено Тогда
				
				ПараметрыЗаполнения.ШаблонГрафика.ЗаполнитьЗначения(ПараметрыЗаполнения.Календарь, "Календарь");	
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

Если нет желания делать руками, то вы можете скачать расширение.

Расширение не меняет структуру конфигурации, поэтому его можно установить в режиме "Предприятие".

Техническая информация

Как подключить расширение

В режиме "Конфигуратор"

  • скачиваете файл расширения
  • в главном меню вызываете список расширений: "Конфигурация" --> "Расширения конфигурации"
  • добавляете новое расширение - имя, синоним, назначение, префикс - произвольные, т.к. они заменятся на значения из файла.
  • новое расширение добавится в список расширений. Снимаете галки "Безопасный режим", "Защита от опасных действий"
  • двойным щелчком открываете конфигурацию расширения
  • для конфигурации расширения вызываете меню "Действия" --> "Конфигурация" --> "Загрузить конфигурацию из файла"
  • в диалоге выбираете скачанный файл
  • затем снова "Действия" --> "Конфигурация" --> "Обновить конфигурацию расширения"

В режиме "Предприятие"

  • скачиваете файл расширения
  • в главном меню "Функции для технического специалиста"
  • раскрываете ветку "Стандартные", выбираете строку "Управление расширениями конфигурации"
  • кнопка "Добавить", выбираете скачанный файл
  • новое расширение добавится в список расширений. Название: "Исправление даты оплаты"
  • снимаете галки "Безопасный режим", "Защита от опасных действий"
  • перезапускаете базу

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

  • 1С:ERP Управление предприятием 2, релизы 2.5.27.68, 2.5.27.61

Вступайте в нашу телеграмм-группу Инфостарт

Расширение платежный календарь условия закупок условия оплаты оплата условия соглашения учет отсрочки производственный календарь дата оплаты расчет даты оплаты рабочие дни

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    52317    142    164    

96

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты

9760 руб.

01.09.2023    9627    324    93    

23

Корректировка данных Системный администратор Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

6100 руб.

10.02.2017    122447    736    177    

770

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

5084 руб.

13.07.2015    55646    189    31    

142

Взаиморасчеты Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12200 руб.

02.11.2020    9882    7    3    

10

Корректировка данных Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 1С:Управление торговлей 11 1С:Розница 3.0 1C:ERP 1С:ЗУП 1С:УТ Платные (руб)

Инструмент для анализа и устранения битых записей в регистрах 1С:Предприятия. Позволяет поддерживать целостность данных и повышает стабильность работы системы. Обработка предназначена для диагностики и корректировки ошибок в регистрах накопления и сведений. Обеспечивает контроль корректности данных и упрощает администрирование информационной базы. Решение для автоматизированного выявления и исправления записей в регистрах 1С. Снижает вероятность сбоев при расчётах и формировании отчётности.

5490 руб.

05.09.2025    1960    4    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PanNataly 05.08.26 13:37 Сейчас в теме
Спасибо! Та же проблема в Реализациях(
2. Sam13 390 05.08.26 17:22 Сейчас в теме
(1) хм... таблетка вроде как универсальная. Обработка, где вмешиваемся называется "ЗаполнитьЭтапыОплатыДокументаПоШаблону", т.е. теоретически должна помогать и в реализациях. Это так? или в реализациях по прежнему "глючит"?
4. PanNataly 20.08.26 12:06 Сейчас в теме
(2) Скачала, установили. Помогло и для использования в Реализациях. Убили двух зайцев))
5. Sam13 390 20.08.26 13:04 Сейчас в теме
(4) Спасибо за отзыв!
3. Sam13 390 10.08.26 11:33 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация