|
v7: Номер документа не уникальный | ☑ | ||
---|---|---|---|---|
0
Масянька
28.07.16
✎
15:09
|
День добрый!
Странная ситуация... ТиС 932, дописанная. Не типовой документ: при копировании док-та в новый - номер док-та ставится правильно, при создании нового - не правильно (соответственно, и при попытке сохранить выдает "Номер не уникальный"). Номер этого док-та не редактируется вручную (тупо не доступен). Нумерация: в пределах года, текстовый (3), автоматическая нумерация, контроль уникальности. Почему получается так? Заранее - спасибо. |
|||
1
vicof
28.07.16
✎
15:14
|
Тупо кто-то программно поправил
|
|||
2
Масянька
28.07.16
✎
15:16
|
(1) Как?
В журнале - криминала нет. Все док-ты четко пронумерованы (сейчас есть 104). При копировании - ставит номер 105, при создании - 100. |
|||
3
Масянька
28.07.16
✎
15:18
|
+(2) В модуле док-та - нигде нет редактирования номера док-та.
|
|||
4
vicof
28.07.16
✎
15:18
|
А в коде что происходит с кодом?
|
|||
5
vicof
28.07.16
✎
15:18
|
не успел)
|
|||
6
Масянька
28.07.16
✎
15:19
|
(5) Именно, что ничего....
Я не понимаю - чего происходит-то? и почему при копировании - норм, а при создании нового - нет. |
|||
7
vicof
28.07.16
✎
15:20
|
Ну а там тиИ сделать не?
|
|||
8
Масянька
28.07.16
✎
15:21
|
(7) Хочется понять - что происходит...
|
|||
9
Масянька
28.07.16
✎
15:29
|
ТиИ - не помогло. Тоже самое...
|
|||
10
abfm
28.07.16
✎
15:30
|
Процедура ВводНового(,)
в модуле формы есть? |
|||
11
Масянька
28.07.16
✎
15:32
|
(10)
Процедура ВводНового(Скопирован) глЗаполнитьШапку(Контекст, Скопирован,"Продажа"); // по умолчанию заполняются (и не изменяются!) УчитыватьЕНВД = 0; УчитыватьНДС = 1; СуммаВклНДС = 1; УчитыватьНП = 0; СуммаВклНП = 0; СпрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты"); СпрКонтрагенты.НайтиПоКоду("00000004", 0); Контрагент = СпрКонтрагенты.ТекущийЭлемент(); Договор = Контрагент.ОсновнойДоговор; Валюта = Константа.ВалютаБухУчета; СпрСклады = СоздатьОбъект("Справочник.Склады"); СпрСклады.НайтиПоКоду("00001"); // склад-оптравитель = Основной Склад = СпрСклады.ТекущийЭлемент(); СпрСклады.НайтиПоКоду("00006"); // склад-получатель = Списание СкладПолучатель = СпрСклады.ТекущийЭлемент(); СпрЦены = СоздатьОбъект("Справочник.ТипыЦен"); СпрЦены.НайтиПоКоду("00004"); ТипЦен = СпрЦены.ТекущийЭлемент(); КонецПроцедуры // ВводНового глЗаполнитьШапку - типовая. |
|||
12
Ёпрст
28.07.16
✎
15:32
|
(0) проверить, где стоит рабочая дата, много думать
|
|||
13
Масянька
28.07.16
✎
15:34
|
(12) Дата актуальности итогов = рабочая дата = 28.07.2016
|
|||
14
Ёпрст
28.07.16
✎
15:35
|
посмотреть в конфе
ПрефиксАвтоНумерации не стоит ли, и если стоит, то какой |
|||
15
Масянька
28.07.16
✎
15:37
|
(14) В базе - нет (ни в константах, ни в юрике).
|
|||
16
Ёпрст
28.07.16
✎
15:37
|
+ посмотреть в константах префикс риба + в юрлицах/фирме префикс
|
|||
17
Ёпрст
28.07.16
✎
15:37
|
(15) в глобальнике смотри
|
|||
18
abfm
28.07.16
✎
15:37
|
посмотрите
глЗаполнитьШапку(Контекст, Скопирован,"Продажа"); действия при разных Скопирован. |
|||
19
Ёпрст
28.07.16
✎
15:38
|
ну и отчетом вывести документы с упорядочиванием по номеру
|
|||
20
Масянька
28.07.16
✎
15:39
|
(17) Тоже пусто. Сообщить показало.
|
|||
21
Масянька
28.07.16
✎
15:40
|
(19) А чем журнал не устраивает?
Мне не понятно - почему при копировании номер правильный, а при создании нет? В чем разница? |
|||
22
abfm
28.07.16
✎
15:41
|
(21)в разных Скопирован
|
|||
23
Ёпрст
28.07.16
✎
15:43
|
(21) не выполняется процедура вводнового
|
|||
24
Ёпрст
28.07.16
✎
15:43
|
или еще какая предопределенная
|
|||
25
Масянька
28.07.16
✎
15:43
|
(22) В глобальнике:
Если Скопирован = 1 Тогда // если документ скопирован, то новый номер надо устанавливать с учетом всех префиксов на момент копирования Конт.УстановитьНовыйНомер( СокрЛП( Константа.ПрефиксИБ) + СокрЛП( Конт.ЮрЛицо.ПрефиксНомеровДокументов)); Это в глЗаполнитьШапку. Больше в этой процедуре обращения к номеру док-та нет. откуда тогда берется номер при создании? |
|||
26
Ёпрст
28.07.16
✎
15:43
|
там просто все реквизиты копируются
|
|||
27
Масянька
28.07.16
✎
15:43
|
(23) (24) Почему?
|
|||
28
Ёпрст
28.07.16
✎
15:44
|
(25) вот те и ответ.
|
|||
29
Масянька
28.07.16
✎
15:44
|
(28) Я не понимаю... Ответ...
|
|||
30
Ёпрст
28.07.16
✎
15:44
|
кто-то документ с префиксом записал
|
|||
31
Это_mike
28.07.16
✎
15:45
|
(30) так у нее номер - длиной 3
|
|||
32
Это_mike
28.07.16
✎
15:45
|
(30) с пустым префиксом?
|
|||
33
Масянька
28.07.16
✎
15:46
|
(30) C каким? Нумерация - текстовый, 3 символа. Текущий номер - 104.
|
|||
34
Ёпрст
28.07.16
✎
15:46
|
(31) ааа.. давно бы уже обработкой нашла сбойный документ и поправила бы.
|
|||
35
Ёпрст
28.07.16
✎
15:46
|
смотри так же среди помеченных на удаление
|
|||
36
Масянька
28.07.16
✎
15:47
|
(34) Как его найти? По каким признакам?
И новый номер дает - 100. Какой префикс? |
|||
37
Злопчинский
28.07.16
✎
15:47
|
естиь документ с номером 999
|
|||
38
Ёпрст
28.07.16
✎
15:47
|
(37) ага
|
|||
39
DGorgoN
28.07.16
✎
15:47
|
(37) Скорее 99 и ещё по нумератору возможен косяк.
|
|||
40
Масянька
28.07.16
✎
15:48
|
(35) В удаленных нет док-ов.
|
|||
41
DGorgoN
28.07.16
✎
15:48
|
Я лично сделал 10 строчками в глобальнике и справочником и забыл/забыл
|
|||
42
Злопчинский
28.07.16
✎
15:48
|
(39) если 99 - то было бы проблема с номером "10"
|
|||
43
Масянька
28.07.16
✎
15:49
|
(39) 99 есть, 100 есть, ..., 104 последний.
Номер не редактируется руками (закрыт). |
|||
44
Злопчинский
28.07.16
✎
15:49
|
(40)
1. тупой реестр доков по всем фирмам по выбранному нумератору за период нумератора 2. отсортировать по убыванию номера дока 3. втыкать до помутнения |
|||
45
Масянька
28.07.16
✎
15:50
|
(44) Нумератор не назначен.
|
|||
46
Злопчинский
28.07.16
✎
15:51
|
(43) сделай 100 номер 110 и попробуй создать новый - даст записать?
|
|||
47
Ёпрст
28.07.16
✎
15:52
|
скорее, еще в коде чего есть.
|
|||
48
Ёпрст
28.07.16
✎
15:52
|
тогда.
|
|||
49
Злопчинский
28.07.16
✎
15:52
|
(45) не принципиально - значит только по одному виду доков, а не по всем видам нумератора
|
|||
50
abfm
28.07.16
✎
15:53
|
сделать перенумерацию хоть униджорном за период нумерации.
|
|||
51
Масянька
28.07.16
✎
15:54
|
(46) Открыла номер, изменила на 110, записала. Делаю новый - номер 100.
Бред.... |
|||
52
Это_mike
28.07.16
✎
15:56
|
(51) ну а что говорит товарищ отладчик?
|
|||
53
timurhv
28.07.16
✎
15:58
|
(43) "99 " или " 99" номер?
|
|||
54
Масянька
28.07.16
✎
15:58
|
(52) Я не умею с ним разговаривать :(
|
|||
55
Масянька
28.07.16
✎
15:58
|
(53) "099"
|
|||
56
Масянька
28.07.16
✎
15:59
|
+(55) В номерах док-ов все три символа заполнены (001, 015, 100)
|
|||
57
abfm
28.07.16
✎
16:02
|
Добавьте разрядность и перенумеруйте с добавлением нулей, или сделайте число а не строку. В вашем случае второй проще.
|
|||
58
Масянька
28.07.16
✎
16:07
|
(57) А объяснить можете?
|
|||
59
eryomin
28.07.16
✎
16:07
|
(29) что же тут непонятного, если скопированным номер устанавливается заново, а вновь созданным нет? ставь здесь точку останова и смотри, какой номер был (неправильный), и какой стал (правильный). предполагаю, что у вновь созданных номер остается без префикса или с неправильным префиксом.
|
|||
60
Ёпрст
28.07.16
✎
16:09
|
открой пофигуратор, поменяй тип кода на числовой, сохранись, потом вертай взад.. смотри результат
|
|||
61
Ёпрст
28.07.16
✎
16:09
|
хотя 3 символа на номерЯ, это всего 999 доков в год..
|
|||
62
Масянька
28.07.16
✎
16:12
|
(60) Встал 105 (когда на числовой поменяла)...
(61) Достаточно, специфика :) |
|||
63
abfm
28.07.16
✎
16:13
|
(58)К строке сделать инкремент 1 сложнее чем к числу, появляются оговорки и правила. Из строки делают число прибавляют 1, потом делают строку. Как они это делают нам неведомо. Мы можем только догадываться. Нумерация остановилась как вы заняли последний разряд.
|
|||
64
Масянька
28.07.16
✎
16:14
|
+ (62) Обратно на текстовый - опять ругается, зараза....
|
|||
65
Масянька
28.07.16
✎
16:14
|
(63) А откуда тогда взялись 101, 102, 103, 104?
|
|||
66
Ёпрст
28.07.16
✎
16:15
|
(64) значит, где-то префикс ставишь
|
|||
67
abfm
28.07.16
✎
16:15
|
через копирование
|
|||
68
Масянька
28.07.16
✎
16:20
|
(66) Где? В смысле - как найти-то?
|
|||
69
eryomin
28.07.16
✎
16:31
|
(66) скорее, наоборот, дублирование должно было произойти, когда на число перешла (= от префикса отказалась). девчонка чудеса какие-то демонстрирует.
|
|||
70
Масянька
28.07.16
✎
16:43
|
Пипец... Полнейший...
В глЗаполнитьШапку есть такое: Если ПустоеЗначение(Конт.Фирма) = 1 Тогда Конт.Фирма = глЗначениеПоУмолчанию("ОсновнаяФирма"); Если ПустоеЗначение(Конт.Фирма) = 0 Тогда // Обычные действия при смене фирмы (надо поменять номер и пареметры налогообложения) глПриИзмененииФирмы(Конт); КонецЕсли; КонецЕсли; А в глПриИзмененииФирмы такое: // При изменении Юр.Лица надо изменить номер документа Если Конт.ЮрЛицо <> ЮрЛицоФирмы Тогда ПрефиксЮрЛицаФирмы = ?(СокрЛП(ЮрЛицоФирмы.ПрефиксНомеровДокументов)="","0",СокрЛП(ЮрЛицоФирмы.ПрефиксНомеровДокументов)); Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); Сообщить("1 - " + СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы + "."); Конт.ЮрЛицо = ЮрЛицоФирмы; КонецЕсли; И вот тут (при создании) вывелось: 1 - 0. |
|||
71
Это_mike
28.07.16
✎
16:45
|
(70) говорили же, спрашивай отладчика...
|
|||
72
Масянька
28.07.16
✎
16:48
|
(71) У отладчика?! Я бы у разрабов спросила.....
|
|||
73
eryomin
28.07.16
✎
16:48
|
(70) значит, ЮрЛицоФирмы.ПрефиксНомеровДокументов)="", т.е. для ЮрЛицоФирмы не задан префикс
|
|||
74
Масянька
28.07.16
✎
16:49
|
(73) Но ставит-то "0"!
Понятно почему разрядности не хватает... |
|||
75
Это_mike
28.07.16
✎
16:49
|
(72) ну отладчик бы тебе и подсказал, что идти надо к разработчикам, и спрашивать: "Доколе? Никогда такого не было, и вот опять!"©
|
|||
76
eryomin
28.07.16
✎
16:50
|
открой карточку выбираемой фирмы и посмотри, указан ли префикс
|
|||
77
Это_mike
28.07.16
✎
16:51
|
(76) есественно, не указан. поэтому префикс ставится нууууль, со всеми вытекающими...
|
|||
78
DGorgoN
28.07.16
✎
16:52
|
(74) Мась, напиши свой код:
Создай справочник: код наименование фирма. код - последнийНомер документа, наименование - вид документа, фирма - фирма документа В коде Если Конт.ЮрЛицо <> ЮрЛицоФирмы Тогда ПрефиксЮрЛицаФирмы = ?(СокрЛП(ЮрЛицоФирмы.ПрефиксНомеровДокументов)="","0",СокрЛП(ЮрЛицоФирмы.ПрефиксНомеровДокументов)); Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); Сообщить("1 - " + СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы + "."); Конт.ЮрЛицо = ЮрЛицоФирмы; КонецЕсли; вместо Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); напиши свой код по присвоению номера и узбагойся |
|||
79
eryomin
28.07.16
✎
16:52
|
(74) а как это дополнительно отнимает разрядность, если другие фирмы имеют непустой префикс?
|
|||
80
Масянька
28.07.16
✎
16:55
|
(79) Нету префикса! Нету!
А разрядность отнимает. Нулем. |
|||
81
Масянька
28.07.16
✎
16:55
|
(75) Не... Разговор будет .... В общем, ментов надо звать...
|
|||
82
Масянька
28.07.16
✎
16:56
|
(78) Да, без проблем. Но - как можно так писать?! Программы уже лет 10, если не больше.
|
|||
83
Ёпрст
28.07.16
✎
16:58
|
"0" это тоже может быть префиксом, если че.
|
|||
84
Ёпрст
28.07.16
✎
16:58
|
или "00"
|
|||
85
Ёпрст
28.07.16
✎
16:59
|
или пробел..
|
|||
86
Масянька
28.07.16
✎
17:00
|
(83) А зачем при незаполненном значении 0 пихать?
(85) Не может. Там СокрЛП() есть. |
|||
87
Ёпрст
28.07.16
✎
17:46
|
При изменении кода на числовой, работает ? Ну и успакойся :)
|
|||
88
Масянька
28.07.16
✎
17:53
|
(87) Если на огороде оставить тяпку - рано или поздно получишь черенком по лбу.
|
|||
89
Ёпрст
28.07.16
✎
18:11
|
(88) ну, тогда гляди в код отладчиком
|
|||
90
Ёпрст
28.07.16
✎
18:12
|
чудес то, не бывает. Мот вообще, у тебя турбомд стоит, и ты не весь код видишь :)
|
|||
91
Ёпрст
28.07.16
✎
18:12
|
точнее, не тот смотришь
|
|||
92
Масянька
28.07.16
✎
18:19
|
(90) Нету. Турбо. Код - весь. Тот самый.
Если не заполнен префикс - пихаем 0. Зачем? |
|||
93
Злопчинский
28.07.16
✎
19:13
|
глубокий вопрос
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |