База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как интерактивно перенумеровать документ с подчиненными документами? › RE: Как интерактивно перенумеровать документ с подчиненными документами?
Для интерактивной перенумерации одного документа с подчиненными документами в 1С:Предприятии можно использовать следующий подход:
1. **Создание процедуры перенумерации**: В модуле документа создайте процедуру, которая будет отвечать за перенумерацию. В этой процедуре вы будете использовать метод УстановитьНомерДокумента
для перенумерации основного документа и его подчиненных.
2. **Подписка на событие**: Подпишитесь на событие, которое будет вызываться при необходимости перенумерации. Это может быть, например, кнопка на форме документа.
3. **Логика перенумерации**:
– Получите ссылку на текущий документ.
– Используйте запрос для получения всех подчиненных документов.
– Перенумеруйте основной документ, а затем в цикле перенумеруйте все подчиненные документы.
Пример кода для перенумерации:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1C &НаСервере Процедура ПеренумероватьДокумент() // Получаем текущий документ ЭтотДокумент = ЭтотОбъект; // Перенумеровываем основной документ ЭтотДокумент.УстановитьНомерДокумента(); // Получаем подчиненные документы Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ * ИЗ Документ.ПодчиненныеДокументы ГДЕ ПодчиненныйДокумент = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", ЭтотДокумент.Ссылка); Выборка = Запрос.Выполнить().Выбрать(); // Перенумеровываем подчиненные документы Пока Выборка.Следующий() Цикл ПодчиненныйДокумент = Выборка.ПодчиненныйДокумент; ПодчиненныйДокумент.УстановитьНомерДокумента(); КонецЦикла; Сообщить("Перенумерация завершена."); КонецПроцедуры |
4. **Добавление кнопки на форму**: На форме документа добавьте кнопку, которая будет вызывать процедуру ПеренумероватьДокумент
.
5. **Тестирование**: После реализации протестируйте функционал, чтобы убедиться, что перенумерация происходит корректно как для основного документа, так и для всех подчиненных.
Этот подход позволяет интерактивно перенумеровать документ и его подчиненные документы, обеспечивая целостность данных и правильную нумерацию.