Имя: Пароль:
1C
1С v8
Изменить номера документов без проведения
0 GreatOne
 
31.07.14
14:27
Доброго дня!
Необходимо изменить номера документов (Авансовый отчет) с начала года. Посмотрел на всякий случай, метод док.записать() проведения не делает, значит можно менять номер в цикле и записывать. Думал сперва пробежаться изменить номера на левые, чтобы дублей не было, а потом этим же циклом сменить на нужные.
Подхожу к буху, говорю с какого номера начнем, 1 или какой-нибудь другой? Говорит да, с 1 и до конца июня. Говорю, что давайте весь год, я же все равно номера всем буду править сначала, для подготовки. Слышу такую фразу: "прошлый программист делал на определенный период, чтобы проводки не слетали. Этот процесс занимал некоторое время".

Не могу сообразить, в чем подвох? Перепроведения же не делается. Может быть я чего-то не учел, и запустив свою процедурку устрою тут свистопляски? на что может повлиять смена номера у документа с последующим записать()?

Процедура ОсновныеДействияФормыДействие(Кнопка)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    АвансовыйОтчет.Ссылка
        |ИЗ
        |    Документ.АвансовыйОтчет КАК АвансовыйОтчет
        |ГДЕ
        |    АвансовыйОтчет.Дата >= &ДатаНач
        |
        |УПОРЯДОЧИТЬ ПО
        |    АвансовыйОтчет.Дата";

    Запрос.УстановитьПараметр("ДатаНач", Дата("20140101"));

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

    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    сч = 1;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ДокОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        ДокОбъект.Номер = "Из" + строка(Формат(сч, "ЧЦ=9; ЧВН=; ЧГ=0"));
        ДокОбъект.Записать();
        сч = сч + 1;
    КонецЦикла;

КонецПроцедуры
1 fmrlex
 
31.07.14
14:29
Вы все наркоманы!
2 Maxus43
 
31.07.14
14:30
ДокОбъект.Записать(); - там на всякий делай РежимЗаписиДокумента.Запись();
и Обменданными.загрузка = истина;

По поводу задачи в общем - да, вы все (1)
3 Maxus43
 
31.07.14
14:33
периодичность номеров - год, если есть возможность не трогать старые доки - конечно лцчше не трогать. зачем это вобще понадобилось - тут надо копать, и отговорить бухов от этой ереси
4 Serg_1960
 
31.07.14
14:34
(0) Если период автонумерации - год(например), то Вам сложно будет перенумеровать документы только одного месяца - есть риск задублировать нумерацию.

PS: и да, "Вы все наркоманы" +1 :)
5 GreatOne
 
31.07.14
14:34
(3) сотрудники приносят отчеты через 3 месяца, забиваются задним числом, нумерация летит. За обменданными.загрука спасибо!
6 GreatOne
 
31.07.14
14:35
(4)для этого я и хочу сперва весь год прогнать в цикле и поставить левые номера, а сверху накатить нужные
7 GreatOne
 
31.07.14
14:36
я не наркоман! Хотя второй день работю, не знаю еще, как тут принято
8 mikecool
 
31.07.14
14:37
(6) для этого есть обработка на итс и не надо изобретать велосипеды
9 Serg_1960
 
31.07.14
14:37
Подсказка: "Слышу такую фразу: прошлый программист делал..." --> ищу где обработки "прошлого программиста" лежат.
10 El_Duke
 
гуру
31.07.14
14:40
(9) прошлого программиста могли уволить в особо циничной форме и он уходя забрал свои вещички. обиделся понимаш ...
11 GreatOne
 
31.07.14
14:40
(9) была такая идея, там ничего не найти. Да тут такие задачи, что быстрее самому написать
12 Maxus43
 
31.07.14
14:41
(11) ага, на мисте сидеть не мешки ворочать... само напишется) ты лучше задачу точно выясни, а то они говорят одно, а потом посмотрят что получилось и тебя тоже уволят в циничной форме
13 le_
 
31.07.14
14:43
14 GreatOne
 
31.07.14
14:46
(12) вот видишь, мог сидеть и вообще  ничего не делать, ждать, пока кто-то типа в (13) не вынет да положит готовый вариант)
15 Serg_1960
 
31.07.14
14:46
Хватит пугать автора будущим, что он следующим прошлым станет - все мы под Богом ходим, все мы прошлым станем.