|
Изменение нумерации счетов фактур. | ☑ | ||
---|---|---|---|---|
0
AndyTLT63
12.07.12
✎
16:59
|
Конфа Бухгалтерия гос. учреждения 12.2. Клиент хочет изменить нумерацию счетов фактур по типу номер+префикс. Будет выглядеть примерно так 000099ПФ. Где ПФ - префикс. Причем они хотят префикс имменно в конце номера. Но как такое сделать? и чтобы новым счетам фактурам присваивался номер с этим префиксом. Если бы префикс был бы в начале все просто. А как реализовать такое?
|
|||
1
YF
12.07.12
✎
16:59
|
Шли их лесом
|
|||
2
YF
12.07.12
✎
17:00
|
А вот на печать можно выводить номер в любом виде ...
|
|||
3
GLazNik
12.07.12
✎
17:00
|
префикс в конце... тогда уж суфикс
|
|||
4
НикДляЗапросов
12.07.12
✎
17:01
|
а в чем сложность преффикса в конце?
|
|||
5
Пыльный
12.07.12
✎
17:02
|
Идешь в модуль объекта СчетФактураВыданный, находишь процедуру ПриУстановкеНовогоНомера и занимаешься извращениями.
|
|||
6
AndyTLT63
13.07.12
✎
08:38
|
Нету такой процедуры в модуле объекта
|
|||
7
AndyTLT63
13.07.12
✎
08:39
|
Сложность префикса в конце, в том что я не знаю как схранть автоматическую нумерацию документов.
|
|||
8
AndyTLT63
13.07.12
✎
08:46
|
Ну как вариант попробую создать эту прцедуру и поизварщаться
|
|||
9
Пыльный
13.07.12
✎
08:54
|
(6),(7) Сам напиши :)
(8) А что там извращаться? Делаешь запрос: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | СчетФактураВыданный.Номер |ИЗ | Документ.СчетФактураВыданный КАК СчетФактураВыданный |ГДЕ | СчетФактураВыданный.Номер ПОДОБНО &Номер | |УПОРЯДОЧИТЬ ПО | СчетФактураВыданный.Номер УБЫВ"; Запрос.УстановитьПараметр("Номер",ПрефиксОрганизации + "%" + ТвойСуффикс ); Результат = Запрос.Выполнить().Выгрузить(); Отбрасываешь суффиксы/префиксы, увеличиваешь номер на единицу, добавляешь суффиксы/префиксы и все. В стандартном виде эта процедура выглядит примерно так: Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) ОбщегоНазначения.ДобавитьПрефиксОрганизации(ЭтотОбъект, Префикс); Если Исправление Тогда Префикс = "И" + Префикс; ИначеЕсли ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс ИЛИ ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитента Тогда Префикс = "А" + Префикс; КонецЕсли; ОбщегоНазначения.ДобавитьПрефиксУзла(Префикс); КонецПроцедуры |
|||
10
Пыльный
13.07.12
✎
08:58
|
Да, и в запросе еще условие, что только текущий год.
|
|||
11
MSII
13.07.12
✎
09:01
|
(10) И учесть ситуацию "первый документ в новом году".
|
|||
12
Serg_1960
13.07.12
✎
09:14
|
Спешите с советами, а автор про одну мелочь забыл сообщить - пространство автонумерации. Т.е. последовательность нумерации сквозная в пределах года или в пределах каждого суффикса и года?
|
|||
13
Пыльный
13.07.12
✎
09:27
|
(12) Запрос.УстановитьПараметр("Номер",ПрефиксОрганизации + "%" + ТвойСуффикс );
А уж какой суффикс в каждом конкретном случае, я думаю сам разберется :) |
|||
14
AndyTLT63
13.07.12
✎
09:36
|
Спасибо за советы господа, вы мне очень помогли.
|
|||
15
AndyTLT63
18.07.12
✎
11:38
|
ВОт если кому пригодиться сделал так:
|
|||
16
AndyTLT63
18.07.12
✎
11:39
|
Вот если кому пригодиться сделал так:
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) СтандартнаяОбработка =Ложь; Префикс=Учреждение.Префикс; Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ ПЕРВЫЕ 1 | НДС_СчетФактураВыданный.Номер, | НДС_СчетФактураВыданный.Дата |ИЗ | Документ.НДС_СчетФактураВыданный КАК НДС_СчетФактураВыданный |ГДЕ | НДС_СчетФактураВыданный.Номер ПОДОБНО &Номер | И НДС_СчетФактураВыданный.Дата МЕЖДУ &ДатаНач И &ДатаКОн | |УПОРЯДОЧИТЬ ПО | НДС_СчетФактураВыданный.Номер УБЫВ"; Запрос.УстановитьПараметр("Номер", "%" + "/9" ); Запрос.УстановитьПараметр("ДатаНач", НачалоГода(Дата)); Запрос.УстановитьПараметр("ДатаКОн", КонецГода(Дата)); Результат = Запрос.Выполнить().Выгрузить(); Если Результат.Количество()=0 Тогда //В этом году еще не было счетов фактур с таким постфиксом создадим первую Номер="000001/9"; КОнецЕсли; Для каждого СТрока Из Результат Цикл Сообщить(Лев(СТрока.Номер,6)); НовыйНомер=Число(Лев(СТрока.Номер,6))+1; Пока СтрДлина(НовыйНомер)<6 Цикл НовыйНомер="0"+НовыйНомер; КонецЦикла; НовыйНомер=НовыйНомер+"/9"; Номер=НовыйНомер; КонецЦикла; КонецПроцедуры Все отлично работает. Это для бюджетной бухгалтерии |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |