Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:31

Перенос справочников из УНФ в чистую УНФ

Автор romanmorozov, 13 янв 2015, 16:47

0 Пользователей и 1 гость просматривают эту тему.

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

blade_snl

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

&НаСервере
Процедура РаспровестиДокументНаСервере(ИмяДокумента)

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

РезультатЗапроса = Запрос.Выполнить();

Выборка = РезультатЗапроса.Выбрать();

Всего = 0;
ВсегоУспешно = 0;

Пока Выборка.Следующий() Цикл 
Всего = Всего + 1;

ТекДокумент = Выборка.Ссылка.ПолучитьОбъект();

//пробуем сохранить
Попытка
ТекДокумент.Записать(РежимЗаписиДокумента.ОтменаПроведения); 
ВсегоУспешно = ВсегоУспешно + 1;
Исключение
ТекстОшибки = ОписаниеОшибки();
ТекстПредупреждения = СтрШаблон("Документ номер %1 от %2 не был распроведен",Выборка.Номер,Выборка.Дата);
Сообщить(СтрШаблон("%1 (%2)",ТекстПредупреждения,ТекстОшибки));
КонецПопытки;

КонецЦикла;

ИтоговоеСообщение = СтрШаблон("Успешно распроведено %1 документов (%2) из %3",ВсегоУспешно,ИмяДокумента,Всего);
Сообщить(ИтоговоеСообщение);

КонецПроцедуры

Похожие темы (5)

Рейтинг@Mail.ru

Поиск