Имя: Пароль:
1C
1C 7.7
v7: Неверный номер документа!
0 1Сергей
 
28.04.12
16:28
уже всю голову сломал. Вылетает ошибка когда пытаюсь записать НЕновый документ, если добавляю в него строку.


   Док = СоздатьОбъект("Документ");
   флИзменен = 0;
   СписокУдалённыхСтрок = СоздатьОбъект("СписокЗначений");

   ОбщаяТаблица.ВыбратьСтроки();
   Пока ОбщаяТаблица.ПолучитьСтроку() = 1 Цикл
       Если Док.Выбран()=1 Тогда
           Если Док.ТекущийДокумент()<>ОбщаяТаблица.Документ Тогда
               Если (СписокУдалённыхСтрок.РазмерСписка()>0) Тогда
                   СписокУдалённыхСтрок.Сортировать(-1);
                   Для Идн=1 По СписокУдалённыхСтрок.РазмерСписка() Цикл
                       Док.ПолучитьСтрокуПоНомеру(СписокУдалённыхСтрок.ПолучитьЗначение(Идн));
                       Док.УдалитьСтроку();
                       флИзменен=1;
                   КонецЦикла;
               КонецЕсли;
               Если флИзменен<>0 Тогда
                   Сообщить(""+Док.ТекущийДокумент());
                   Док.Записать(); //*** тут ошибка выскакивает
                   Док.Провести();
               КонецЕсли;
               Док.НайтиДокумент(ОбщаяТаблица.Документ);
               флИзменен = 0;
               СписокУдалённыхСтрок.УдалитьВсе();
           КонецЕсли;
       Иначе
           Док.НайтиДокумент(ОбщаяТаблица.Документ);
           флИзменен = 0;
           СписокУдалённыхСтрок.УдалитьВсе();
       КонецЕсли;
       
       // тут обновляются реквизиты шапки документа

       Если ОбщаяТаблица.НомерСтрокиДокумента>0 Тогда
           Если ОбщаяТаблица.флТиС=0 Тогда
               СписокУдалённыхСтрок.ДобавитьЗначение(ОбщаяТаблица.НомерСтрокиДокумента);
               флИзменен = 1;
               Продолжить;
           КонецЕсли;
           Док.ПолучитьСтрокуПоНомеру(ОбщаяТаблица.НомерСтрокиДокумента);
       Иначе
           Док.НоваяСтрока(); //*** ошибка возникает, когда добавляется новая строка
           флИзменен = 1;
       КонецЕсли;

       // тут обновляются реквизиты ТЧ документа
       
   КонецЦикла;




Док.Записать();
{D:\1C\TMP1\ERT\БУХГАЛТЕРИЯ\ЗАГРУЗКА РЕАЛИЗАЦИИ ИЗ ТИС В БУХ.ERT(516)}: Неверный номер документа!

помогите, люди добрые. В чем проблема?
1 Любопытная
 
28.04.12
16:31
А ручками перезаписывается документ?
2 Mikeware
 
28.04.12
16:31
А что говорит товарищ Отладчик?
3 1Сергей
 
28.04.12
16:32
(1) да
4 1Сергей
 
28.04.12
16:33
(2) не могу пока проверить. Ибо эта шняга взлетит только на живой базе, а там бушки
5 dusn
 
28.04.12
16:34
по-моему надо получить именно документ. но вообще мне непонятно, где берется Док. сначала создается. а потом сразу проверка на Выбран()... откуда получаешь Док?
6 andrewks
 
28.04.12
16:34
что в 516-й строке?
7 1Сергей
 
28.04.12
16:35
(6) а так трудно догадаться?
8 andrewks
 
28.04.12
16:36
(7) извини, но у тебя код какой-то пьяный, так что догадаться трудно
9 1Сергей
 
28.04.12
16:36
(5) ОбщаяТаблица создается и заполняется ранее.

   ОбщаяТаблица = СоздатьОбъект("ТаблицаЗначений");
   ОбщаяТаблица.НоваяКолонка("Документ", "Документ");
10 akaBrr
 
28.04.12
16:37
(4) Отладчик и к живой цепляется
11 1Сергей
 
28.04.12
16:37
(8) я даже подсказку написал

Док.Записать(); //*** тут ошибка выскакивает
12 1Сергей
 
28.04.12
16:37
(10) отладчику нужен монопольный доступ
13 akaBrr
 
28.04.12
16:38
(12) не нужен
14 Любопытная
 
28.04.12
16:39
Не нужен отладчику монопольный доступ, ерунда это
15 Мимо Проходил
 
28.04.12
16:39
Что значит "тут обновляются реквизиты шапки документа"?
Дату не меняешь?
16 andrewks
 
28.04.12
16:39
(11) ну всё ж очевидно тогда, нумерация сбилась
17 andrewks
 
28.04.12
16:40
пытаешься записать док с №, который уже есть
18 1Сергей
 
28.04.12
16:41
(17) естественно есть. Документ-то не новый. Интерактивно записывается без проблем
19 dusn
 
28.04.12
16:43
а находится ли документ? :)
20 Попытка1С
 
28.04.12
16:43
(12) С чего вдруг..
21 andrewks
 
28.04.12
16:43
(18) "Документ-то не новый" а вот почему ты так в этом уверен? ты в обоих местах не проверяешь результат нахождения документа
22 1Сергей
 
28.04.12
16:45
(21) я в этом уверен, потому что в коде нет Док.Новый()
23 1Сергей
 
28.04.12
16:45
(15) кажется прав, уточняю
24 dusn
 
28.04.12
16:45
проверь - находится ли документ
25 1Сергей
 
28.04.12
16:46
(24) находится 100%

ДатаДок и НомерДок меняются на те же самые
26 1Сергей
 
28.04.12
16:47
кажись тут загвоздка
27 andrewks
 
28.04.12
16:47
если дата дока уходит в смежный период, нужно устанавливать новый номер
28 1Сергей
 
28.04.12
16:53
Всё, нашёл. Мой косяк. Прав был Мимо Проходил
я обновлял реквизиты шапки до того как выяснял, нужно ли удалять строку документа. Поэтому в документе затирались ДатаДок и НомерДок