Имя: Пароль:
1C
1C 7.7
v7: Нумерация при создании доков
, ,
0 serg-lom89
 
14.11.13
13:55
Загружаю данные из дбф.загоняю в ТЗ и из нее потом выборкой созаю док

Ругаеться Док.Записать()
Номер не уникальный...

в базе есть один документ и у него номер дока 1.

как обойти?
Впринципе он же должен дальше номер док создаваться по порядку
1 Стрелок
 
14.11.13
13:55
если создаешь программно - никто никому ничего не должен
2 serg-lom89
 
14.11.13
13:56
а как обойти это?в отладчике присваивает номер 2
3 Стрелок
 
14.11.13
13:57
ну смотри где он меняется этот номер
4 dk
 
14.11.13
14:00
в конфигураторе автонумерация стоит у документа?
5 serg-lom89
 
14.11.13
14:01
(4) да
6 serg-lom89
 
14.11.13
14:06
(5) так как ппрограмно присваивать новые номера?:
7 dk
 
14.11.13
14:10
вообще номер должен автоматом присваиваться, если нумерация не сбита
больше кода покажи, где док создаешь и записываешь
8 Стрелок
 
14.11.13
14:11
СП отключили?

УстановитьНовыйНомер(<?>);
Синтаксис:
УстановитьНовыйНомер(<Префикс>)
Назначение:
Установить новый номер документа с заданным префиксом.
Параметры:
<Префикс> - строка с префиксом номера документа.
9 serg-lom89
 
14.11.13
14:17
(8) Док.УстановитьНовыйНомер("2")
Вопрос,а если номер дока строковой тип то как это будет?
10 serg-lom89
 
14.11.13
14:17
причем все равно ругается
11 Стрелок
 
14.11.13
14:19
(9) ты внимательно прочитать не можешь то что тебе копируется из 1С?
12 Стрелок
 
14.11.13
14:19
поставь точку останова в строке перед Док.Записать() и посмотри какой там номер стоит. проверь период нумерации документа. и убери наконец то из скобочек муть вместе с ковычками
13 serg-lom89
 
14.11.13
14:23
(12) все,разобрался..спасибо))
14 serg-lom89
 
14.11.13
14:24
а как если есть напирмер такой же докНомер,ток только что бы создало новый документ ,но уже с другим номер докуменка?
15 Стрелок
 
14.11.13
14:25
а теперь по-русски
16 serg-lom89
 
14.11.13
14:29
(15)  )))
ну например есть у нас в базе такой номер...на след день я загружаю данные и хочу что бы к этому номеру например 10000 приклеить *
17 Стрелок
 
14.11.13
14:31
ты так легко играешься номерами. ты нуерацию уже сбил. зачем играться дальше? удали к манахам то что насоздавал. и загрузи документы заново и не ставь номер в коде никакой. просто Док.УстановитьНовыйНомер();
18 Ёпрст
 
14.11.13
14:32
(0)

в начало кода воткни

РабочаяДата(ДатаСоздаваемогоДокумента,2);

наслаждайся..
19 Duke1C
 
14.11.13
14:34
(14) По-умолчанию (если у документа установлена периодичность смены номера) при Док.Новый() ему присваивается следующий номер в периоде, в котором находится "Рабочая дата".
При условии, что нумерация документов не покорёжена ручками.
Обычно "Номер не уникальный..." при программном создании документа возникает, когда создаются доки за прошлый год (например в январе за декабрь).
Поэтому, можно перед загрузкой выставить в параметрах Рабочую дату в нужный период, либо (что кошернее ИМХО):
Док.Новый();
Док.ДатаДок = ТвояДата;
Док.УстановитьНовыйНомер();
20 serg-lom89
 
14.11.13
14:39
(19) да...с этим я разобрался что надо сразу дату а потом уже номер
21 serg-lom89
 
14.11.13
15:17
спасибо всем)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.