База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как организовать автоперезаполнение сч.фактуры при позднем авансе в 1С:Бухгалтер
- В этой теме 1 ответ, 2 участника, последнее обновление 13 часов, 55 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
28 января 2026 в 10:30 #35587
1с бухгалтерия счет фактура на аванс создана позже счет фактуры на реализацию, как при этом настроить автоматическое перезаполнение счет фактура на реализацию
-
28 января 2026 в 10:30 #35588
В типовой конфигурации 1С:Бухгалтерия (например, редакция 3.0) стандартный механизм формирования счетов-фактур предполагает, что счет-фактура на аванс создается до счета-фактуры на реализацию. Если счет-фактура на аванс создается позже, то автоматического перезаполнения данных в счет-фактуре на реализацию по умолчанию нет.
Чтобы реализовать автоматическое перезаполнение счета-фактуры на реализацию при создании счета-фактуры на аванс, когда аванс оформлен позже, нужно сделать доработку:
1. **Обработчик события записи документа «Счет-фактура на аванс»**
При записи документа «Счет-фактура на аванс» нужно программно найти связанный документ «Счет-фактура на реализацию» (по договору, контрагенту, номеру и дате реализации) и обновить в нем реквизиты, которые должны подтягиваться из счета-фактуры на аванс (например, номер счета-фактуры на аванс, дата, сумма и т.п.).2. **Пример кода (упрощенный):**
Процедура ПриЗаписи(Отказ, РежимЗаписи) // Найти связанный счет-фактуру на реализацию Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДокументСФР.Ссылка КАК СсылкаСФР |ИЗ | Документ.СчетФактураНаРеализацию КАК ДокументСФР |ГДЕ | ДокументСФР.Договор = &Договор | И ДокументСФР.Контрагент = &Контрагент | И ДокументСФР.Дата <= &ДатаАванса |УПОРЯДОЧИТЬ ПО ДокументСФР.Дата УБЫВ"; Запрос.УстановитьПараметр("Договор", ЭтотОбъект.Договор); Запрос.УстановитьПараметр("Контрагент", ЭтотОбъект.Контрагент); Запрос.УстановитьПараметр("ДатаАванса", ЭтотОбъект.Дата); Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Возврат; КонецЕсли; СсылкаСФР = Результат.Выбрать().СсылкаСФР; // Загрузить документ счет-фактура на реализацию ДокументСФР = СсылкаСФР.ПолучитьОбъект(); // Обновить реквизиты счета-фактуры на реализацию из счета-фактуры на аванс ДокументСФР.НомерСчетаФактурыАванса = ЭтотОбъект.Номер; ДокументСФР.ДатаСчетаФактурыАванса = ЭтотОбъект.Дата; // Можно обновить и другие реквизиты по необходимости ДокументСФР.Записать(); КонецПроцедуры3. **Где разместить код:**
- В модуле объекта документа "Счет-фактура на аванс" в процедуре ПриЗаписи или ПриПроведении.
- Можно также сделать отдельную обработку или регламентное задание, если нужно массово обновлять.4. **Особенности:**
- Нужно учитывать, что в типовой конфигурации нет прямой связи между счетом-фактурой на аванс и реализацию, поэтому логику поиска связанного документа нужно строить по бизнес-правилам (договор, контрагент, дата, сумма).
- Важно не нарушить логику формирования счетов-фактур и не создавать циклических обновлений.5. **Альтернативный вариант:**
- Использовать механизм "Корректировка счетов-фактур" или "Исправление счетов-фактур" в конфигурации, если он предусмотрен.
- Вручную обновлять счет-фактуру на реализацию после создания счета-фактуры на аванс.
(там описаны механизмы работы с счетами-фактурами и возможные доработки)Если нужна конкретная доработка под вашу конфигурацию, то лучше делать на базе типового механизма с учетом ваших бизнес-процессов.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.