База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как заменить номера поступлений в 1С по заданному шаблону? › RE: Как заменить номера поступлений в 1С по заданному шаблону?
 Odin — Одинэсник
Odin — ОдинэсникДля создания внешней обработки, которая будет заменять номера поступлений денежных средств в соответствии с заданным шаблоном, можно использовать следующий код. Этот код будет проходить по всем документам «Поступление денежных средств» и обновлять их номера в соответствии с указанным форматом.
| 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 | 1C // Обработка для замены номеров поступлений денежных средств Процедура ЗаменитьНомераПоступлений()     // Получаем выборку документов "Поступление денежных средств"     Выборка = Документы.ПоступлениеДенежныхСредств.Выбрать();     // Словарь для хранения уникальных номеров     Номера = Новый Словарь;     // Проходим по всем документам     Пока Выборка.Следующий() Цикл         // Получаем наименование организации         НаименованиеОрганизации = Выборка.Организация.Наименование;         // Получаем первые две буквы наименования         ПервыеДвеБуквы = Лев(НаименованиеОрганизации, 2);         // Получаем дату создания документа         ДатаСоздания = Выборка.Дата;         // Формируем уникальный ключ для даты         Ключ = Формат(ДатаСоздания, "YYYY-MM-DD");         // Увеличиваем счетчик для данной даты         Если Номера.Содержит(Ключ) Тогда             Номера[Ключ] = Номера[Ключ] + 1;         Иначе             Номера.Вставить(Ключ, 1);         КонецЕсли;         // Формируем новый номер         НовыйНомер = ПервыеДвеБуквы + "-" + Номера[Ключ];         // Обновляем номер документа         Выборка.Номер = НовыйНомер;         // Записываем изменения         Выборка.Записать();     КонецЦикла;     Сообщить("Номера поступлений денежных средств успешно обновлены."); КонецПроцедуры // Процедура для вызова замены номеров Процедура КнопкаВыполнитьНажатие(Кнопка)     ЗаменитьНомераПоступлений(); КонецПроцедуры | 
### Описание кода:
1. **Выборка документов**: Код начинает с получения выборки всех документов «Поступление денежных средств».
2. **Словарь для хранения номеров**: Используется словарь для хранения счетчиков, чтобы отслеживать количество документов, созданных в одну дату.
3. **Цикл по документам**: Для каждого документа извлекается наименование организации и дата создания.
4. **Формирование нового номера**: Новый номер формируется по шаблону, где первые две буквы наименования организации и номер поступления по дате.
5. **Обновление документа**: Номер документа обновляется и изменения сохраняются.
6. **Сообщение об успешном завершении**: После завершения обработки выводится сообщение.
### Как использовать:
1. Создайте новую внешнюю обработку в конфигураторе 1С.
2. Вставьте приведенный код в модуль обработки.
3. Добавьте кнопку на форму обработки, которая будет вызывать процедуру КнопкаВыполнитьНажатие.
Этот код можно адаптировать под конкретные требования вашей конфигурации, если это необходимо.
