Имя: Пароль:
1C
1C 7.7
v7: Нумерация в документе перемещениеТМЦ
,
0 netusers
 
22.08.11
11:17
Доброе время суток.
Есть документ ПеремещениеТМЦ, пользователь- бухгалтер делает новый документ Перемещение ТМЦ копированием строки, чтобы заново не забивать номенклатуру, но при копировании номер присваивается 1094Т, а она хочет чтобы номер присваивался автоматиески, как при создании нового документа, подскажите как это сделать
Заранее благодарю!
1 Rie
 
22.08.11
11:18
(0) Небось, автонумерация отключена?
2 Ork
 
22.08.11
11:20
Стесняюсь спросить : а номер 1094Т не попадает под правило "как при создании нового документа"?
Если нет - какой номер выдает система "при создании нового документа"?
3 netusers
 
22.08.11
11:21
скажем последний документ перемещение ТМЦ с номером 000000151 при создании нового документа номер присваивается 000000152, а если делать копирование документа с номером 000000151 то номер будет стоять 1094Т
4 Lepochkin
 
22.08.11
11:23
в процедуре ВводНового что написано?
5 Ork
 
22.08.11
11:23
(3) Тупо "в лоб" найти последний документ нужного вида и тому, который создается копированием присвоить следующий.
6 netusers
 
22.08.11
11:25
тупо бухгалтер не хочет, говорит ей нужно чтобы все автоматом было
7 Ork
 
22.08.11
11:26
(6) Те код поиска последнего номера нарисовать или где?
8 netusers
 
22.08.11
11:27
(5)
Процедура ВводНового(Скопирован)
                     
   глЗаполнитьШапку(Контекст, Скопирован);
   
   Если Скопирован = 1 Тогда    //копирование документа
       Возврат;
   КонецЕсли;                              
   
   ФирмаПолучатель = Фирма;
   СкладПолучатель = Склад;
   
   // Настройки заполнения флагов налогов зависят от складов
   ПриИзмененииСклада();
   ПриИзмененииСкладаПолучателя();
   
КонецПроцедуры // ВводНового()
9 netusers
 
22.08.11
11:28
мне нужно сделать так, чтобы при копировании документа номер присваивался также как при создании нового документа, то есть автоматом, следующий номер за последним
10 Rie
 
22.08.11
11:32
(9) А зачем "Т" в конце номера документа поставили?
11 Ork
 
22.08.11
11:33
(8) Вот сюда :
Если Скопирован = 1 Тогда    //копирование документа
   Возврат;
КонецЕсли;

Вот сюда воткни примерно такую шнягу

Если Скопирован = 1 Тогда    //копирование документа
   Докс=СоздатьОбъект("Документ."+Вид());
   Докс.ОбратныйПорядок(1);
   Докс.ВыбратьДокументы(,);
   Пока Докс.ПолучитьДокумент()=1 Цикл
       НомерДок=СокрЛП(Докс.НомерДок)+1;
       Прервать;
   КонецЦикла;
   Возврат;
КонецЕсли;

Хреново если на конце номера последнего документа буква и номер дополнен слева нулями. Тут нужно либо сдвиг влево и дописывать единичку, либо заменять последнюю букву.
12 netusers
 
22.08.11
11:41
нет ниодного документа с буквами в номере, а при копировании автоматом ставится Т, незнаю почему
13 netusers
 
22.08.11
11:42
бухгалтер говорила, что месяц назад, она нормально вносила документы, то при копироании, номер присваивался автоматом, а сейчас то то сбилось
14 netusers
 
22.08.11
11:42
в настройках это нигде не указывается? без внесений изменений в конфу не полуиться обойтись?
15 Ork
 
22.08.11
11:45
(14) Запиши один раз документ с правильным номером "в рукопашную". Дальше - все будет само, пока опять не припишешь в номер букву.
16 Ork
 
22.08.11
11:46
(12) "нет ниодного документа с буквами в номере". Это вам просто лень искать.
17 Rie
 
22.08.11
11:48
(12) Всяко есть. Причём буква была добавлена руками. Просто бухгалтеры молчат, как партизаны (видимо, надо было вставить документ, а номер уже занят, - вот они и вышли из положения).

Напиши запрос, который выдаст все документы с буквой "Т" в номере.
18 netusers
 
22.08.11
12:11
"Запиши один раз документ с правильным номером "в рукопашную". Дальше - все будет само, пока опять не припишешь в номер букву."

пробовали, внесли вручную, результат тот же :( автоматом присваивается Т :(
искать было не лень, просмотрела документы за 4 месяца, везде все ок, только кол0-во цифр не всегда совпадает, но никаких букв в номере нет.
19 netusers
 
22.08.11
12:13
написала

Если Скопирован = 1 Тогда    //копирование документа

   Докс=СоздатьОбъект("Документ."+Вид());
   Докс.ОбратныйПорядок(1);
   Докс.ВыбратьДокументы(,);
   Пока Докс.ПолучитьДокумент()=1 Цикл
       НомерДок=СокрЛП(Докс.НомерДок)+1;
       Прервать;
   КонецЦикла;
   Возврат;
КонецЕсли;

присваивается последний номер документа, а как сделать тобы присваивался последний +1 то есть не 000000151, а 000000152?
20 Rie
 
22.08.11
12:17
(19) Обходные пути - это интересно, конечно.
Но, IMHO, куда полезнее было бы найти документ, который сбил нумерацию.

В коде ошибка. Вместо
НомерДок=СокрЛП(Докс.НомерДок)+1;
желательно
НомерДок=Число(Докс.НомерДок)+1;
21 Ork
 
22.08.11
12:19
(20) Для текстового номера - ошибки нет. В твоем нужно еще дополнять слева нулями.
22 MKMK
 
22.08.11
12:20
а в  глЗаполнитьШапку(Контекст, Скопирован), что написано?
23 netusers
 
22.08.11
12:23
Процедура ВводНового(Скопирован)
                     
   глЗаполнитьШапку(Контекст, Скопирован);
   
   Если Скопирован = 1 Тогда    //копирование документа
      Докс=СоздатьОбъект("Документ."+Вид());
   Докс.ОбратныйПорядок(1);
   Докс.ВыбратьДокументы(,);
   Пока Докс.ПолучитьДокумент()=1 Цикл
       НомерДок=СокрЛП(Докс.НомерДок)+1;
       Прервать;
   КонецЦикла;

       Возврат;
   КонецЕсли;                              
   
   ФирмаПолучатель = Фирма;
   СкладПолучатель = Склад;
   
   // Настройки заполнения флагов налогов зависят от складов
   ПриИзмененииСклада();
   ПриИзмененииСкладаПолучателя();
   
КонецПроцедуры // ВводНового()
24 Злопчинский
 
22.08.11
12:27
(19) Берется последний ПО АЛФАВИТУ префикс нумеров документов.
Префикс - это то, что заканчивается на нечисловой символ. у тебя это 1094Т, далее нумера для ЭТОГО префикса наращиваются на 1, при этом общая ДЛИНА номера (вместе с префиксом) - НЕ МЕНЯЕТСЯ. у тебя длина префикса = 5, общая длина номера с префиксом = 5, на числовую нумерацию у тебя остается 5-5=0 прозиций. Поэтому новый док имеет такой же номер как и указанный выше. а то что такого номер анет - это вы батенька звиздите (уже сказали что вам видимо лень искать).
.
при необходимости впихнуть номер в существующие - нечисловые символы следует добавлять В НАЧАЛО номера, причем нечисловые чимволы д.б. ПО АЛФАВИТУ меньше символа 0 (ноль).
.
25 Rie
 
22.08.11
12:32
(21) Есть ошибка. Набери в табло Лев("12345"+1,5) - и посмотри, что получится.
26 netusers
 
22.08.11
12:57
просмотрела еще раз нумерацию, номер 1094Т действительно был, но документ с этим номером  был помечен на удаление,сделала удаление помеченных объектов,теперь при копировании номер 1095 :( просмотрела все доки, нашла в июне документ 1094, нумерация в 1С вся сбита, где 6 цифр, где 5...(( как ее можно восстановить?
27 netusers
 
22.08.11
12:58
чтобы сейчас она автоматиесчки правильно формировалась
28 __Se24
 
22.08.11
13:05
самый простой вариант , нанять белок , чтобы они лапками перестроили все номера в журнале )
29 Ork
 
22.08.11
13:10
(27) Если понимаешь, что делаешь, то перенумеровать документы - дело 10 мин.
30 netusers
 
22.08.11
13:11
там 1000 документов...((
31 aka AMIGO
 
22.08.11
13:12
(30) внешняя рукописная обработка решит проблему.. за 10 минут
32 Ork
 
22.08.11
13:13
(30) Программисту предлагается программный вариант.
33 Godofsin
 
22.08.11
13:13
(30) Выкладывай фотку - тебе помогут =)
34 aka AMIGO
 
22.08.11
13:18
(33) вообще надо напрямую к Асмоди обратиться, или уж к Волшебник"у: регистрация с признаком "Ж" без фотки - запрещена :)
35 netusers
 
22.08.11
14:02
хорошо)) обячзательно выложу фотку, как только приду домой :)
36 netusers
 
22.08.11
14:02
спасибо всем большое за помощь :0
37 Злопчинский
 
22.08.11
22:11
Сомневаюсь что тпик стартер до сих пор сидит на работе. дома уже стопудово, а фотки все нет. Итого, что мы видим: фотки нет, топикстартер сразу же слинял в (36), а мы тут как лохи...
38 netusers
 
24.08.11
02:22
фотку честно выложила...)) долго искала подходящую....я совсем не фотогенична :( что не фотография, то УЖАС ((((
39 Злопчинский
 
24.08.11
03:48
..да.. фотохостингов пришлось переыть изрядно...