Имя: Пароль:
1C
1C 7.7
v7: Нумерация Документа нужна ваша помощь
0 defre315
 
17.01.13
13:02
Ребят подскажите пожалуйста....
Всегда нумерация документа шла правильно. После нового года нумерация не обнулилась. В декабре провелся последний документ под номером 1849, и теперь сколько не проводи документов, всегда стоит номер 1850(номер не начался  с 1(с 1января должен был обнулится) и дальше не идёт, то есть 1851, 1852, и т.д.) всегда эта 1850
Проверил все, прописано все нормально, и до этого сколько лет работало все ок.....что произошло чейчас не знаю
Мне сказали что причина в префиксе, что он типо какой то глючный, подскажите что в нём не так

// Устанавливает номер для документа или справочника
Процедура глУстановитьНомер(Конт,ЭтоДокумент=1,Объект=0) Экспорт      
   ПрефиксНомера = "";
   Если Конт.Фирма.Выбран() = 1 Тогда
       ПрефиксНомера = СокрЛП(Конт.Фирма.Префикс);
   ИначеЕсли Объект <> 0 Тогда
       Попытка
           ПрефиксНомера = СокрЛП(Объект.Фирма.Префикс);
       Исключение
       КонецПопытки;
   КонецЕсли;
   Если ПустоеЗначение(ПрефиксНомера) = 0 Тогда
       Если ЭтоДокумент = 1 Тогда
           ВидДок = ?(Объект = 0, Конт.Вид(), Объект.Вид());
           ПрефиксНомера = ПрефиксНомера + "-";
           Если Объект = 0 Тогда
               Конт.УстановитьНовыйНомер(ПрефиксНомера);
           Иначе
               Объект.УстановитьНовыйНомер(ПрефиксНомера);
           КонецЕсли;
       Иначе
           ПрефиксНомера = ПрефиксНомера + "-";
           Если Объект = 0 Тогда
               Конт.УстановитьНовыйКод(ПрефиксНомера);
           Иначе
               Объект.УстановитьНовыйКод(ПрефиксНомера);
           КонецЕсли;
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры
//========================================

мне нужно это для доверенности
в префиксе автонумерации он есть
ПрефиксАвтонумерации("Документ.Доверенность","Дов-")
1 aka AMIGO
 
17.01.13
13:04
это точно 7-ка?
и еще - в конфигураторе настройка нумерации у этого документа - какая периодичность?
2 aka AMIGO
 
17.01.13
13:07
+ могли бушки поиграться с датой документа, например, ввести будущей датой, или перекинуть док на другой год
можно глянуть в Журнале
3 defre315
 
17.01.13
13:08
Переодичность документа Год
Процедура НомерДоверенности()
   Док=СоздатьОбъект("Документ.Доверенность");
   Док.ОбратныйПорядок(1);
   Док.ВыбратьДокументы(НачГода(ДатаДок),КонГода(ДатаДок));
   Если Док.ПолучитьДокумент()>0 Тогда
       ПредыдущийНомер = Док.Номер;
       ДлинаПредыдущийНомер = СтрДлина(СокрЛП(ПредыдущийНомер));
       Попытка
           НовыйНомер = Строка(Число(ПредыдущийНомер)+1);
       Исключение
           НовыйНомер = 1;
       КонецПопытки;
       ДлинаНовыйНомер = СтрДлина(Строка(НовыйНомер));
       Если ДлинаНовыйНомер < ДлинаПредыдущийНомер Тогда
           Длина = ДлинаПредыдущийНомер;
       Иначе
           Длина = ДлинаНовыйНомер;
       КонецЕсли;
       ФорматнаяСтрока = "Ч(0)"+Строка(Длина)+".0";
       Номер = Формат(НовыйНомер, ФорматнаяСтрока);
   Иначе
       Номер = "1";
   КонецЕсли;    
КонецПроцедуры
4 defre315
 
17.01.13
13:09
делал так уже.....и за 90 года проводил, и 2014 проводил...поломка не решается(((((((
5 Надсмотрщик
 
17.01.13
13:11
(4) Какова Рабочая дата?
6 defre315
 
17.01.13
13:12
Вот скрин
номер один выбивал тоже 1850....сделал....все работает теперь нормально
а вот номер который под цифрой 2....никак(
http://s41.radikal.ru/i094/1301/f0/82f29b77b73d.png
7 defre315
 
17.01.13
13:17
Подскажите пожалуйста, может у кого была такая проблема?
8 Cthulhu
 
17.01.13
13:17
(6): всё очень просто.
#2 - это НЕ то, что устанавливается в (3).
9 defre315
 
17.01.13
13:19
а где оно прописывается?
10 defre315
 
17.01.13
13:20
я не знаю можно тут так или нет, но я скину полный модуль.....может так более понятней будет

Перем НачальнаяДатаДокумента;

// ===============================
Процедура ПриЗаписи()
   глПроверкаДатыДок(Контекст,"Запись");
   Если глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда
       СтатусВозврата(0);
   КонецЕсли;
   Автор = глПользователь;
КонецПроцедуры

// ======================================
Процедура ИзмТМЦ()
   Если ТМЦ.Выбран()=1 Тогда
       Если ТМЦ.Вид()="ТМЦ" Тогда
           глУстановкаБазЕд(Контекст,ТМЦ);  
       Иначе
           глУстановкаБазЕд(Контекст,,ТМЦ.БазЕдиница);
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры

// ======================================
Процедура ИзмСотрудник()
   Если Сотрудник.Выбран()=1 Тогда
       ПодтверждающийДокумент = "паспорт";
       СерияПодтверждающегоДокумента = Сотрудник.ПаспортСерия;
       НомерПодтверждающегоДокумента = Сотрудник.ПаспортНомер;
       ДатаПодтверждающегоДокумента = Сотрудник.ВыданДата;
       КемВыданПодтверждающийДокумент = Сотрудник.ВыданКем;
       НовыйКомуВыдана = глФИО(Сотрудник);
       Если ПустаяСтрока(КомуВыдана) = 1 Тогда
           КомуВыдана = НовыйКомуВыдана;
       ИначеЕсли КомуВыдана <> НовыйКомуВыдана Тогда
           Рез = Вопрос("Изменить ФИО сотрудника в документе?","Да+Нет");
           Если Рез = "Да" Тогда
               КомуВыдана = НовыйКомуВыдана;
           КонецЕсли;    
       КонецЕсли
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ИзмЧтоПриходуем()
   Старое = глВосстановитьЗначение(Контекст,"ЧтоПриходуем");
   Если (КоличествоСтрок()<>0) и (Старое<>ЧтоПриходуем) и (Сокрлп(Старое)<>"") Тогда
       ЧтоПриходуем = Старое;
       Предупреждение("Сначала удалите все строки!");
   КонецЕсли;
   глСохранитьЗначение(Контекст,"ЧтоПриходуем",ЧтоПриходуем);
КонецПроцедуры

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

// ======================================
Процедура ВводНового(ПризнакКопирования)
   Если ПризнакКопирования = 1 Тогда
       глУстановитьНомер(Контекст);
       Возврат;
   КонецЕсли;
   глУстановитьФирму(Контекст);
   Если Константа.ФормыНаУкраинском = Нет Тогда
       ПоДокументу = "счету-фактуре №";
   Иначе
       ПоДокументу = "рахунком-фактурою №";
   КонецЕсли;
   СрокДействия = ДатаДок + 9;
   ЧтоПриходуем = глВосстановитьЗначение(Контекст,"ЧтоПриходуем",Перечисление.ЧтоПриходуем.ТМЦ);
   НомерДоверенности();
КонецПроцедуры

// ======================================
Процедура ВводНаОсновании(Док)
   // Документ основание - СчетВходящий
   лВид=0;
   Если док.Вид()="ПриходнаяНА" тогда
       лВид=1;
   иначе
       лВид=0;
   Конецесли;
   Фирма = Док.Фирма;
   глЗаполнитьШапкуНаОсн(Контекст,Док);
   глУстановитьНомер(Контекст);
   Контрагент = Док.Контрагент;
   Если лвид=0 тогда
       Если Константа.ФормыНаУкраинском = Нет Тогда
           ПоДокументу = "счету-фактуре № "+СокрЛП(Строка(Док.НомерСчета))+" от "+СокрЛП(Строка(Док.ДатаДок));
       Иначе
           ПоДокументу = "рахунком-фактурою № "+СокрЛП(Строка(Док.НомерСчета))+" від "+СокрЛП(Строка(Док.ДатаДок));
       КонецЕсли;
   иначе
       ПоДокументу = "Накладной № "+СокрЛП(Строка(Док.НомерДок))+" от "+СокрЛП(Строка(Док.ДатаДок));
   Конецесли;
   СрокДействия = ДатаДок + 9;
   Если лвид=0 тогда
       ЧтоПриходуем = Док.ЧтоПриходуем;
   иначе
       ЧтоПриходуем = перечисление.ЧтоПриходуем.ОСиНМАиДрНеобМатАктивы;
   конецесли;
   
   Док.ВыбратьСтроки();
   Пока Док.ПолучитьСтроку()=1 Цикл
       Если ЧтоПриходуем = Перечисление.ЧтоПриходуем.ТМЦ Тогда
           Если Док.ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Услуга Тогда
               Продолжить;
           КонецЕсли;
       КонецЕсли;
       НоваяСтрока();
       Если лВид=1 тогда
           ТМЦ = Док.Оф;
       иначе
           ТМЦ = Док.ТМЦ;
           Ед = Док.Ед;
       Конецесли;
       
       
       Кво = Док.Кво;
   КонецЦикла;
   НомерДоверенности();

КонецПроцедуры

// ======================================
Процедура ПриОткрытии()
   глПроверкаДатыДок(Контекст,"Открытие");
   НачальнаяДатаДокумента = ДатаДок;    
   Форма.кПравоваяПоддержка.Видимость(глВидимостьПравовойПоддержки);
   ПриЗаписиПерепроводить(1);
   
   // Если открыли только на просмотр, то надо кнопки сделать недоступными
   Если Форма.ТолькоПросмотр()=1 Тогда
       Форма.кОК.Доступность(0);
       Форма.кФирма.Доступность(0);                      
       Форма.КнопкаПоУмолчанию("кЗакрыть");
   Иначе
       Форма.КнопкаПоУмолчанию("кОК");
   КонецЕсли;    
   
   глСохранитьЗначение(Контекст,"ЧтоПриходуем",ЧтоПриходуем);
   
КонецПроцедуры

// ======================================
Процедура Печать()
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица");
   
   глУстПропись(Гривня);

   Таб.ВывестиСекцию("ЛицеваяСторона");
   
   Таб.НоваяСтраница();
   
   Таб.ВывестиСекцию("ОбратнаяСторонаШапка");
   
   Если КоличествоСтрок() > 6 Тогда
       СекцияСтроки = "Строка";
       глКомментарий("Количество строк в табличной части больше шести."+
                      "Типовая форма М-2 ""Доверенность"" рассчитана на шесть строк!",1,,"!");
   Иначе
       СекцияСтроки = "СтрокаВысокая";
   КонецЕсли;
   Ном = 1;
   ВыбратьСтроки();
   Пока ПолучитьСтроку()=1 Цикл
       Таб.ВывестиСекцию(СекцияСтроки);
       Ном = Ном+1;
   КонецЦикла;
   Таб.Защита(Константа.ФлагЗащитыТаблиц);
   Таб.ТолькоПросмотр(1);
   Таб.Опции(0,0,,);
   Таб.Показать("ПЕЧАТЬ: Доверенность","");
КонецПроцедуры

// ======================================
Процедура ПечатьБезБланка(Значение)
   Таб = СоздатьОбъект("Таблица");
   
   Таб.ИсходнаяТаблица("ТаблицаБезБланка");
   
   глУстПропись(Гривня);

   Таб.ВывестиСекцию("ЛицеваяСторона");
   

   Если Значение = 1 Тогда
       Таб.НоваяСтраница();
   КонецЕсли;
   
   Таб.ВывестиСекцию("ОбратнаяСторонаШапка");
   
   Ном = 1;
   ВыбратьСтроки();
   Пока ПолучитьСтроку()=1 Цикл
       Таб.ВывестиСекцию("Строка");
       Ном = Ном+1;
   КонецЦикла;
   Таб.ВывестиСекцию("ОбратнаяСторонаДно");
   Таб.Защита(Константа.ФлагЗащитыТаблиц);
   Таб.ТолькоПросмотр(1);
   Таб.Опции(0,0,,);
   Таб.Показать("ПЕЧАТЬ: Доверенность","");
КонецПроцедуры

// ===============================
Процедура ВыборВариантаПечати()
   Перем ВыбЗначение;
   ВариантыПечати = СоздатьОбъект("СписокЗначений");
   ВариантыПечати.ДобавитьЗначение(1,"Доверенность(2стр)");

   ВариантыПечати.ДобавитьЗначение(2,"Доверенность(1стр)");
   ВариантыПечати.ДобавитьЗначение(3,"Печать на бланк строгой отчетности");
   Если ВариантыПечати.ВыбратьЗначение(выбЗначение,"",,,1) <> 1 Тогда
       Возврат;
   КонецЕсли;
   Если ВыбЗначение = 3 Тогда
       Печать();    
   Иначе
       ПечатьБезБланка(ВыбЗначение);
   КонецЕсли;
КонецПроцедуры

// ======================================
Процедура ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр)
   Если Рекв = "Сотрудник" Тогда
       ФлагСтандОбр = 0;
       КонтФирмы = Фирма;
       ОткрытьФорму("Справочник.Сотрудники.ДляВыбора",КонтФирмы);
   КонецЕсли;
КонецПроцедуры

// ===============================
Функция УстДоступность()
   Форма.Заголовок(глЗаголовок(Контекст,"Доверенность"));
   Если ЧтоПриходуем = Перечисление.ЧтоПриходуем.ТМЦ Тогда
       Форма.Ед.Доступность(1);
   Иначе
       Форма.Ед.Доступность(0);
   КонецЕсли;

   Если ЧтоПриходуем = Перечисление.ЧтоПриходуем.ОСиНМАиДрНеобМатАктивы Тогда
       НазначитьВид(ТМЦ,"ОФ");
   ИначеЕсли ЧтоПриходуем = Перечисление.ЧтоПриходуем.ТМЦ Тогда
       НазначитьВид(ТМЦ,"ТМЦ");
   Иначе
       НазначитьВид(ТМЦ,"БланкиСтрогойОтчетности");
   КонецЕсли;
   Форма.ТМЦ.НеИзменятьВид(1);
   
   Возврат "";
КонецФункции
         
// ===============================
// Инициализируем список действий по кнопке "Действия"
СписокДействий = глПолучитьСписокДействий("
   |ОткрытьВЖурнале");
11 Cthulhu
 
17.01.13
13:27
(10): судя по всему в процедуре НомерДоверенности.
и у тебя где-то "впереди" (но в этом году) болтается документ Доверенность с номером 1849. может даже помеченный на удаление или непроведенный (странно что этот анализ не выполняется, кстати)))
12 defre315
 
17.01.13
13:31
у меня есть документ с номером 1849 но он был проведён 27 декабря 2012 года
13 defre315
 
17.01.13
13:33
с 1 января он выбил номер 1850, и бугалтера уже исправляли вручную
14 defre315
 
17.01.13
13:42
Никто с таким не сталкивался?
15 Cthulhu
 
17.01.13
13:45
Ещё раз. По слогам.
При создании нового документа - дата авто-устанавливается равной рабочей дате  = РабочаяДата().
Процедура НомерДоверенности вызывается (в модуле) только при создании новых документов.
Если эта процедура не вызывается при имзменении даты документа - то причина авто-назначения номера доверенности 1850 только в том, что в году рабочей даты последний документ Доверенность имеет реквизит "Номер", равный 1849.
Чудес не бывает. Читать по слогам.
(14): блин, повтори этот вопрос ещё семьтыщраз. "с этим" - в смысле с кривым кодом установки значения реквизита твоего документа в твоей допиленной кривыми руками конфигурации??? конечно нет.
16 defre315
 
17.01.13
14:00
(15)
я только что пробывал ставил рабочую дату на 31.12.12, при проводке указал что в первом что во втором номере...номер 46,
провел. Открыл снова....и в первом и втором номере уже стоял 47.....как и должно оно работать
Но когда я поменял рабочую дату на сегодняшнее число, первый номер работает так как и должен а вот второй все время 1850.
Вот я и спрашиваю как решить эту проблему?
17 Dolly_EV
 
17.01.13
14:16
(0) открой Универсальный отчет: Печать документов (DOCPRINT.ert) из набора UNIREPS, сделай реестр своих доверенностей за тек. год, с выводом реквизита "Номер"... и сразу найдешь доверку с номером 1849
18 defre315
 
17.01.13
14:23
(17) я нашёл этот документ давно....а что с ним делать?
пометил на удаление но не помогло
19 defre315
 
17.01.13
14:35
если проблема с тем документом который под номером 1849, то что с ним нужно делать
менял там значения все равно не помогает(
20 defre315
 
17.01.13
14:35
точнее номер менял
21 lefthander
 
17.01.13
14:37
В номере добавьте ведущие нули до 4 знаков
22 lefthander
 
17.01.13
14:38
начиная с первого за этот год
23 sidalexsandr
 
17.01.13
14:40
Перенумеруй вручную все документы этого года, как надо. Например Дов-0001, Дов-0002, .... Дальше номера сами пойдут правильные.
24 lefthander
 
17.01.13
14:42
зачем вручную? есть куча обработок перенумеровки
25 defre315
 
17.01.13
14:54
все поменял ничего не даёт, как было так и есть(
26 Cthulhu
 
17.01.13
15:00
(18): ну вот, поди ж ты, с какого раза допёр... продолжаем разговор.
теперь попробуй по слогам прочитать сказанное в (11) в самом конце (в скобках). и ПЕРЕНЕСИ ЭТОТ ДОКУМЕНТ НА НАЧАЛО ГОДА (на самое начало, и, на всякий случай, вбей ему в номера нули).
27 defre315
 
17.01.13
15:11
(26) я внимательно все это читал и сделал так как в (11)
там первый документ который был проведен за 01.01.13 был с только с нулями что в первом номере что во втором....но проблема так и не решилась, все последующие открывания документа были с номером 1850
28 sidalexsandr
 
17.01.13
15:11
(25) Ну а потом создай ещё один документ и вручную присвой ему номер. Полсе этого должна пойти устанавленная тобой нумерация.
29 defre315
 
17.01.13
15:13
(27) точнее, перенес этот документ на 01.01.13 со всеми нулями (28) делал, все равно таже проблема
30 sidalexsandr
 
17.01.13
15:13
(27) Не вериться, что перенумеровал вручую + создал ещё один документ и перенумеровал и дальше не пошла нормальная нумерация.
31 Cthulhu
 
17.01.13
15:14
короче. все, что тебе необходимо для исправления ошибки - тут уже сказано.
если не можешь справиться сам - приглашай специалиста.
32 Злопчинский
 
17.01.13
15:17
Вот ведь наизобретал. оставил бы нумерацию сквозной и нумеровал бы себе дальше. В чем здесь принципиальное нарушение?
33 Cthulhu
 
17.01.13
15:18
(32): на доверенности - в пределах года.
и там не нумерация (не НомерДок), там - реквизит (НомеерДверенности вроде)
34 lefthander
 
17.01.13
15:19
(29) Надеюсь других документов в этом году нет? или у них должны быть номера следующие за первым в нужном порядке
35 defre315
 
17.01.13
15:20
36 lefthander
 
17.01.13
15:22
в процедуре выбор доков с обратным порядком, значит все будет плясать от последнего дока а не от первого смотри на номер  последнего дока в этом году
37 2012_12_17
 
17.01.13
15:24
(35) кури в сторону документа доверенности в модуле формы процедуру вводнового, я обычно там делаю нумерацию свою
38 2012_12_17
 
17.01.13
15:26
например вот так я нумерую счета фактуры:

Процедура ВводНового(Копирование)
     
   //***ШО 2007-21-08 !!!
   Если ДатаДок>='01.10.2009' Тогда
       //***ШО 2009-18-08      
       УстановитьНовыйНомер();    
   Иначе
       
       МахНомер=0;
       Док.ВыбратьДокументы("01.01.2009",);    //***
       Пока Док.ПолучитьДокумент() = 1 Цикл
           Если СтрДлина(СокрЛП(Док.НомерДок))=8  Тогда
           Иначе
               Продолжить;
           КонецЕсли;
           НомерОбъектаСтарый=Док.НомерДок;
           Если Число(НомерОбъектаСтарый)>МахНомер Тогда
               МахНомер=Число(НомерОбъектаСтарый);
               НомерОбъектаНовый=Число(НомерОбъектаСтарый)+1;
               Если  СтрДлина(Строка(НомерОбъектаНовый))=1 Тогда
                   НомерОбъектаНовый="0000000"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=2 Тогда
                   НомерОбъектаНовый="000000"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=3 Тогда
                   НомерОбъектаНовый="00000"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=4 Тогда
                   НомерОбъектаНовый="0000"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=5 Тогда
                   НомерОбъектаНовый="000"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=6 Тогда
                   НомерОбъектаНовый="00"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=7 Тогда
                   НомерОбъектаНовый="0"+Строка(НомерОбъектаНовый);
               ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=8 Тогда
                   НомерОбъектаНовый=""+Строка(НомерОбъектаНовый);
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
       НомерДок=НомерОбъектаНовый;    
   КонецЕсли;    
   //***шо
   
   Новый = 1;
   ВерсияОбъекта = Константа.НомерРелиза;
   Если Копирование = 1 Тогда
       Возврат;
   КонецЕсли;
   Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
       Контрагент = Форма.Параметр.Получить("Контрагент");
   КонецЕсли;
   ВариантОтправки = 1;
   Если Константа.МетодопределенияВыручки.Получить(ДатаДок) = глПоОтгрузке Тогда
       СчетНДС = 1;
   Иначе
       СчетНДС = 2;
   КонецЕсли;
   СчетАкциза = 2;
   Если Константа.ОсновнойСклад.Выбран() = 1 Тогда
       ТипЦен = Константа.ОсновнойСклад.ТипЦен;
   КонецЕсли;  
   ВидОперации = Перечисление.ВидыОперацийСчетаФактурыВыданного.Реализация;
   
   КодВидаОперации = "01";
   СпособВыставления = 1;
   
   ПриИзмененииДаты();
   
КонецПроцедуры // ВводНового()
39 lefthander
 
17.01.13
15:26
(37) это работает до тех пор пока не создали два новых документа разные юзеры и потом начинают их записывать. :)
40 2012_12_17
 
17.01.13
15:28
//***ШО
//************************************************************************
//***ШО 2009-08-18 !!!
Процедура   УстановитьНовыйНомер()
   МахНомер=0;
   НомерОбъектаНовый="";
   Док.ВыбратьДокументы(ДатаДок,ДатаДок);   //***
   Пока Док.ПолучитьДокумент() = 1 Цикл  
       
       Если Док.ТекущийДокумент()=ТекущийДокумент() Тогда
           Продолжить;
       КонецЕсли;
       
       
       
       //***Сформируем дату из номера

       ГодД=Сред(Строка(ДатаДок),7,2);
       МесяцД=Сред(Строка(ДатаДок),4,2);
       ДеньД=Сред(Строка(ДатаДок),1,2);
       ДатаД=Дата(ГодД,МесяцД,ДеньД);

       
       Если ДатаДок=Док.ДатаДок Тогда
       Иначе
           Продолжить;
       КонецЕсли;
       
       //***Ищем в этом дне максимальный
   
       НомерОбъектаСтарый=Сред(Док.НомерДок,6,3);   //10,3
       Если Число(НомерОбъектаСтарый)>МахНомер Тогда
           
           МахНомер=Число(НомерОбъектаСтарый);
           
           
           НомерОбъектаНовый=Число(НомерОбъектаСтарый)+1;
           
           Если  СтрДлина(Строка(НомерОбъектаНовый))=1 Тогда
               НомерОбъектаНовый="00"+Строка(НомерОбъектаНовый);
           ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=2 Тогда
               НомерОбъектаНовый="0"+Строка(НомерОбъектаНовый);
           ИначеЕсли СтрДлина(Строка(НомерОбъектаНовый))=3 Тогда
               НомерОбъектаНовый=""+Строка(НомерОбъектаНовый);
           КонецЕсли;
           
           
       КонецЕсли;
   КонецЦикла;
   
   Если НомерОбъектаНовый="" Тогда
       НомерОбъектаНовый="001";
       
       
       ГодД=Сред(Строка(ДатаДок),7,2);
       МесяцД=Сред(Строка(ДатаДок),4,2);
       ДеньД=Сред(Строка(ДатаДок),1,2);
       
       
       //НовыйНомер1=Сред(Фирма.Наименование,1,2)+"-"+ГодД+"-"+МесяцД+"-"+ДеньД+"-"+НомерОбъектаНовый;   //***
       НовыйНомер1="Т"+МесяцД+ДеньД+НомерОбъектаНовый;   //***
   Иначе
       //НовыйНомер1=Сред(Фирма.Наименование,1,2)+"-"+ГодД+"-"+МесяцД+"-"+ДеньД+"-"+НомерОбъектаНовый;   //***
       НовыйНомер1="Т"+МесяцД+ДеньД+НомерОбъектаНовый;   //***
   КонецЕсли;
   //***шо
   НомерДок=НовыйНомер1;  //***только для счетов фактур!!!
   
КонецПроцедуры
//***шо
41 2012_12_17
 
17.01.13
15:31
(39) согласен - и еще минус когда  в УРБД делают  на ПБ и ЦБ то тоже могут задваивать - но что ж теперь а как иначе то?
42 Cthulhu
 
17.01.13
15:33
(35): это не тот документ.
нужен документ "Доверенность". это сказано в четвертом абзаце в (15) - хотя ты и утверждаешь, что все читаешь внимательно.
43 Cthulhu
 
17.01.13
15:34
(42)+: причем самый конец списка с интервалом до 31.12.2013 включительно.
44 defre315
 
17.01.13
15:36
(42) это и есть документ довереность
45 Злопчинский
 
17.01.13
16:32
(33) ссылку на НПА, плиз...
46 Cthulhu
 
17.01.13
16:48
(45): Инструкция Минфина СССР от 14 января 1967 г. N 17 "О порядке выдачи доверенностей на получение товарно-материальных ценностей и отпуска их по доверенности" (по согласованию с ЦСУ СССР)
47 lefthander
 
17.01.13
16:58
(41) Думать, и еще раз думать. ;) Можно номер формировать не в момент создания, а в момент записи, например.
Независимо от того, куда вы едете — это в гору и против ветра!