|
v7: 1С 77 Нумерация документов | ☑ | ||
---|---|---|---|---|
0
maz
17.08.11
✎
17:05
|
Ситуация: в ЗиК 77 документ Начисление Отпуска нумеровался себе преспокойно, но вдруг на определенном номере взял и перестал. Если поменять номера в документах, то автонумерация оживает, но опять же до этого определенного номера... С чем и что можно увязать - непонятно. Номера вручную не менялись, все так и шли автоматом, но после номера 001070, тупо ничего не присваивает и всё тут. Кто нить видит какое-то возможное объяснение такому непонятному поведению системы?
|
|||
1
andrewks
17.08.11
✎
17:08
|
заместо 0 бука О?
|
|||
2
andrewks
17.08.11
✎
17:08
|
+(1) *буква
|
|||
3
maz
17.08.11
✎
17:09
|
неа, автоматом ставит нули. букву не поставит:)
|
|||
4
ado
17.08.11
✎
17:29
|
(0) >> Номера вручную не менялись
Да щаззз! |
|||
5
maz
17.08.11
✎
17:35
|
угу
|
|||
6
maz
17.08.11
✎
17:36
|
лично проверил:)
|
|||
7
palpetrovich
17.08.11
✎
17:38
|
ищи
Процедура глУстановитьНовыйНомер(Конт) Экспорт Если Конт.Вид() = "НачислениеОтпуска" Тогда Конт.УстановитьНовыйНомер(); Если Конт.НомерДок = "001070" Тогда Конт.НомерДок = ""; Конт.Записать(); Сообщить("Сектор ПРИЗ!!! Вам отпуск неположен "); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
8
maz
17.08.11
✎
17:39
|
:)))))))))))))
|
|||
9
zak555
17.08.11
✎
17:41
|
(7) это откуда ?
|
|||
10
palpetrovich
17.08.11
✎
17:43
|
(9) отсюда :)
|
|||
11
maz
17.08.11
✎
17:45
|
кстати, в прошлом году эта цицра почему-то не смутила ничего. всё нумеровалось. Вот что это может быть? НУ ЧТООО???!
|
|||
12
Gucci76
17.08.11
✎
17:49
|
КоличествоПопыток надо увеличить в глобальнике.
Может из-за этого. Я у которых такое бывает с 100 до 1000 увеличил. |
|||
13
palpetrovich
17.08.11
✎
17:50
|
(11) если ты серъезно, посмтори в отладчике что 1с пытается присвоить, елси не найдешь гада - то давай сюда больше инфы:
длина и тип номера - это раз, скопируй сюда проблемный "001070" через буфер обмена - два, а еще лучше сделай запрос по всем докам, выгрузи в ТЗ, отсортируй по номеру - и последние несколько сюда запость :) |
|||
14
Gucci76
17.08.11
✎
17:53
|
Обрати внимание на даты документов Отпуска.
Может док с отпуском отличаться сильно от текущей даты. Короче, попробуй сначала (12) |
|||
15
ado
17.08.11
✎
17:53
|
(6) Выводил на заднее крыльцо, и порол, пока не признались?
|
|||
16
maz
17.08.11
✎
17:55
|
серьёзно. серьёзней некуда:) по номеру отсортировал, смотрю сижу и диву даюсь, всё ну прям очень замечательно выглядит. Никаких не видно загогулин. И на скулёвой, и на файловой, и даж тестирование и исправление сделал. НИЧЕГОШЕНЬКИ не помогает.
НомерДок ДатаДок 001060 12.08.2011 001061 15.08.2011 001062 15.08.2011 001063 15.08.2011 001064 15.08.2011 001065 17.08.2011 001066 17.08.2011 001067 17.08.2011 001068 17.08.2011 001069 17.08.2011 001070 17.08.2011 17.08.2011 |
|||
17
Gucci76
17.08.11
✎
17:56
|
(12) сделал????
|
|||
18
maz
17.08.11
✎
17:57
|
(12) сори, недопонял, какое имеется ввиду количество попыток? в смысле попыток чего?
|
|||
19
Gucci76
17.08.11
✎
17:58
|
КолвоПопыток т.е. надо искать в глобальнике
|
|||
20
maz
17.08.11
✎
17:58
|
ааа, ща попробую
|
|||
21
Gucci76
17.08.11
✎
17:58
|
подожу. Интересно, прав ли я???!!! )))))
|
|||
22
Gucci76
17.08.11
✎
17:59
|
Кстати, есть уже документы с пустым номером???
|
|||
23
maz
17.08.11
✎
18:00
|
снимите шляпы обнажите головы...
|
|||
24
maz
17.08.11
✎
18:00
|
КолвоПопыток!!!!!!!
|
|||
25
maz
17.08.11
✎
18:01
|
афигеть
|
|||
26
Gucci76
17.08.11
✎
18:01
|
ЗиК она специфичная, там есть много чего, чего нет в других конфах!!!!
|
|||
27
maz
17.08.11
✎
18:01
|
Илья, спасибо огромное!
|
|||
28
maz
17.08.11
✎
18:02
|
я вот честно, не предположил, что этот момент как-то прописывается кодом..
|
|||
29
Gucci76
17.08.11
✎
18:02
|
Рад стараться!!! ))))
|
|||
30
maz
17.08.11
✎
18:03
|
мне даже и в голову это не приходило. И раньше никогда не сталкивался и не видел эту закозюльку
|
|||
31
Gucci76
17.08.11
✎
18:04
|
Я с ЗиК-ой дружу много лет. В ней на самом деле можно сделать очень много всего почти не изменяя конфигурацию.
Жаль что 1С, забивает на 7.7 |
|||
32
Gucci76
17.08.11
✎
18:05
|
Остаюсь без хлеба.
А восьмерка идет тяжеловато ))))) |
|||
33
maz
17.08.11
✎
18:06
|
это кстати да! Согласен, очень много можно сделать не меняя конфу, Зика достаточно отлаженная вещь
|
|||
34
maz
17.08.11
✎
18:07
|
я потихоньку на 8ку пытаюсь переучиваться
|
|||
35
maz
17.08.11
✎
18:07
|
Вобщем гора с плечь)) оказывается в мире ещё много тайного и неизведнного)))
пойду в рабочей отлаживать Ещё раз спасибо.! |
|||
36
Gucci76
17.08.11
✎
18:08
|
Всегда пожалуйста!!!
|
|||
37
Злопчинский
17.08.11
✎
20:13
|
я так и не понял - в чем трабла была? и при чем здесь количество попыток...?
|
|||
38
andrewks
17.08.11
✎
20:37
|
(37) да обсуждали как-то уже.
в ЗиК свой хитроопый алгоритм сделали для нумерации. зачем - хз. возможно, чтобы не было пропущенных номеров. реализация весьма корявая, как во многих местах в ЗиК: Процедура глВводНовогоДокумента(КонтекстДокумента) Экспорт ВидДокумента = КонтекстДокумента.Вид(); мдДокумент = Метаданные.Документ(КонтекстДокумента.Вид()); // если передали документ, по которому возможна корректировка, // подберем ему "правильный" номер // по Больничному Листу не надо подбирать номер Если Найти( "ИсполнительныйЛист" "НарядБригадный" "НарядИндивидуальный" "НачислениеДивидендов" "НачислениеМатериальнойВыгодыПоВкладам" "НачислениеОтпуска" "НачислениеОтпускаГосслужащим" "НачисленияУдержанияСотрудника" "НачисленияУдержанияСписком" "Невыходы" "ПриказНаОплатуПоСреднему" "НачислениеСохраняемогоДенежногоСодержанияГосслужащему" "ПриказОРаботеВПраздники", ВидДокумента)>0 Тогда ДлинаПрефиксаИБ = 0; ПрефиксИБ = ""; Если ПустаяСтрока(ТекущаяИБКод())=0 Тогда //Работа в распределенной ИБ Если Константа.НеПрименятьПрефиксыИБ=0 Тогда ПрефиксИБ = СокрЛ(ВРег(Константа.ПрефиксИБ)); ДлинаПрефиксаИБ = СтрДлина(ПрефиксИБ); КонецЕсли; КонецЕсли; ДлинаНомера = мдДокумент.ДлинаНомера-4-ДлинаПрефиксаИБ; ДатаДок = КонтекстДокумента.ДатаДок; Документы = СоздатьОбъект("Документ."+ВидДокумента); Документы.ОбратныйПорядок(1); Если мдДокумент.ПериодичностьНомера="Год" Тогда Документы.ВыбратьДокументы(НачГода(КонтекстДокумента.ДатаДок),КонГода(КонтекстДокумента.ДатаДок)); ИначеЕсли мдДокумент.ПериодичностьНомера="Месяц" Тогда Документы.ВыбратьДокументы(НачМесяца(КонтекстДокумента.ДатаДок),КонМесяца(КонтекстДокумента.ДатаДок)); Иначе Документы.ВыбратьДокументы(КонтекстДокумента.ДатаДок,КонтекстДокумента.ДатаДок); КонецЕсли; Если Документы.ПолучитьДокумент()=1 Тогда НомерДок = Формат(Число(Формат(Сред(Документы.НомерДок,ДлинаПрефиксаИБ+1),"С"+ДлинаНомера)),"Ч(0)"+ДлинаНомера); Иначе НомерДок = Формат(Число(Формат(Сред(КонтекстДокумента.НомерДок,ДлинаПрефиксаИБ+1),"С"+ДлинаНомера)),"Ч(0)"+ДлинаНомера); КонецЕсли; Если Число(НомерДок)=0 Тогда НомерДок = Формат(1,"Ч(0)"+ДлинаНомера);; КонецЕсли; КолвоПопыток = 0; Пока Документы.НайтиПоНомеру(ПрефиксИБ+НомерДок,ДатаДок)=1 Цикл НомерДок = Формат(Число(НомерДок)+1,"Ч(0)"+ДлинаНомера); КолвоПопыток = КолвоПопыток+1; Если КолвоПопыток>100 Тогда НомерДок = ""; Прервать КонецЕсли; КонецЦикла; КонтекстДокумента.НомерДок = ПрефиксИБ+НомерДок; КонецЕсли; |
|||
39
andrewks
17.08.11
✎
20:37
|
вот за это:
Если КолвоПопыток>100 Тогда НомерДок = ""; Прервать КонецЕсли; надо прострелить автору коленку. даже обе. |
|||
40
maz
24.08.11
✎
11:50
|
(39) угу. странный ход.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |