|
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
|
Всё, нашёл. Мой косяк. Прав был Мимо Проходил
я обновлял реквизиты шапки до того как выяснял, нужно ли удалять строку документа. Поэтому в документе затирались ДатаДок и НомерДок |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |