ТАк код Джейсмита !
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
ВыполнитьОбработкуНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВыполнитьОбработкуНаСервере()
Для Каждого ОМ Из Метаданные.Документы Цикл
ОбработатьДок(ОМ)
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ОбработатьДок(ОМ)
ТаблицаДок = ПолучитьТаблицаДок(ОМ);
Для Каждого Строка Из ТаблицаДок.Строки Цикл
Перенумеровать(Строка.Строки, "А", ОМ.ДлинаНомера);
Перенумеровать(Строка.Строки, "", ОМ.ДлинаНомера);
КонецЦикла;
КонецПроцедуры
Функция ПолучитьТаблицаДок(ОМ)
Запрос = Новый Запрос();
Текст =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Дата КАК Дата,
| ГруппировкаНумератор КАК Период
|ИЗ
| Документ.ИмяДок КАК Таблица
|
|УПОРЯДОЧИТЬ ПО
| Таблица.МоментВремени
|ИТОГИ ПО
| Период";
Текст = СтрЗаменить(Текст, "ИмяДок", ОМ.Имя);
Нумератор = ОМ.Нумератор;
ГруппировкаНумератор = "0";
Если Нумератор = Неопределено Тогда
ГруппировкаНумератор = "0";
ИначеЕсли Нумератор.ПериодичностьНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Год Тогда
ГруппировкаНумератор = "НАЧАЛОПЕРИОДА(Таблица.Дата, ГОД)";
ИначеЕсли Нумератор.ПериодичностьНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Квартал Тогда
ГруппировкаНумератор = "НАЧАЛОПЕРИОДА(Таблица.Дата, КВАРТАЛ)";
ИначеЕсли Нумератор.ПериодичностьНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Месяц Тогда
ГруппировкаНумератор = "НАЧАЛОПЕРИОДА(Таблица.Дата, МЕСЯЦ)";
ИначеЕсли Нумератор.ПериодичностьНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.День Тогда
ГруппировкаНумератор = "НАЧАЛОПЕРИОДА(Таблица.Дата, ДЕНЬ)";
КонецЕсли;
Текст = СтрЗаменить(Текст, "ГруппировкаНумератор", ГруппировкаНумератор);
Запрос.Текст = Текст;
Таблица = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
Возврат Таблица;
КонецФункции
Процедура Перенумеровать(Доки, Префикс, Длина)
Номер = 1;
Для Каждого Док Из Доки Цикл
ДокОбъект = Док.Ссылка.ПолучитьОбъект();
ДокОбъект.Номер = ПолучитьНомерСтрокой(Номер, Префикс, Длина);
ДокОбъект.ОбменДанными.Загрузка = Истина;
ДокОбъект.Записать();
Номер = Номер + 1;
КонецЦикла;
КонецПроцедуры
// Не дописал!!! Упростил!!!
Функция ПолучитьНомерСтрокой(Номер, Префикс, Длина)
СтрНомер = Строка(Номер);
СтрНомер = СтрЗаменить(СтрНомер, Символы.НПП, "");
СтрНомер = Префикс + СтрНомер;
Возврат СтрНомер;
КонецФункции
Я не проверял, ща потестим.