![]() |
|
Сбилась нумерация документов. | ☑ | ||
---|---|---|---|---|
0
JuixyJes
23.12.19
✎
15:59
|
Добрый день! У меня есть база, в которой работают люди как в РИБах так и напрямую под разными пользователями. Для удобной работы этих пользователей были сделаны доработки, устанавливающие префикс документам/элементам справочников не идентичный префиксу ИБ, а префикс Подразделения, указанного у них в настройках пользователя. У пользователей была дурацкая привычка править номера в ручную и нумерация сбилась, есть ли какой то безболезненный вариант как восстановить нумерацию, не ожидая НГ? Бухгалтерия 2.0
|
|||
1
unbred
23.12.19
✎
16:01
|
посмотри, может найдёшь что-то для себя Нумерация документов.
|
|||
2
Джинн
23.12.19
✎
16:01
|
Нет. Выравнивание киянкой рук пользователей всегда болезненное.
|
|||
3
JuixyJes
23.12.19
✎
16:12
|
Просто пользователи жалуются, что нумерация у них сбилась. Поэтому и написала сюда, вдруг кто знает как решить такое.
|
|||
4
dka80
23.12.19
✎
16:29
|
Обработка Универсальный подбор и обработка объектов
|
|||
5
Dmitrii
гуру
23.12.19
✎
16:32
|
Вручную или обработкой (если много документов) исправляешь "кривые" номера.
Потом выполняешь программно ОбновитьНумерациюОбъектов(<Метаданные>). Затем пишешь докладную записку руководству с перечнем фамилий пользователей, грешащих установкой кривых номеров, с просьбой лишить их новогодней премии. |
|||
6
johnnik
23.12.19
✎
16:33
|
(3) И приговаривают: "мы ничего не трогали, оно само"
|
|||
7
Фрэнки
23.12.19
✎
17:00
|
Ну так на 2.0 обработки просто пишутся и все. Можно подсмотреть процедуры установки номеров из доработок, но использовать их на все документы в выборке. Тут универсальных советов надавать можно, но делать все равно через обработки.
|
|||
8
JuixyJes
23.12.19
✎
17:38
|
Так, а подскажите, как мне обработку написать, где я смогу выбрать тип документа, указать год, за который искать, и найти количество документов с разной длиной номера. Чтоб было что-то вроде
Сообщить("В базе из " + СчДокументов + " есть " + сч + " документов с номером длины " + Н + " за " + Год + "год."); |
|||
9
JuixyJes
23.12.19
✎
17:38
|
Функция ВыборкаСЧ(Выборка,н,год)
сч = 0; Если Выборка = "РКО" Тогда Выб=Документы.РасходныйКассовыйОрдер.Выбрать(); ИначеЕсли Выборка = "ПКО" Тогда Выб=Документы.ПриходныйКассовыйОрдер.Выбрать(); ИначеЕсли Выборка = "Заявка" Тогда Выб=Документы.мЗаявкаНаЗайм.Выбрать(); ИначеЕсли Выборка = "Договор" Тогда Выб=Документы.мКредитныйДоговор.Выбрать(); ИначеЕсли Выборка = "Возврат" Тогда Выб=Документы.мПлатежПоКредиту.Выбрать(); КонецЕсли; Пока Выб.Следующий() Цикл Если Год(Выб.Дата) = Год Тогда Если СтрДлина(Выб.Номер) = н Тогда сч = сч + 1; КонецЕсли; КонецЕсли; КонецЦикла; Возврат сч КонецФункции Функция НайтиМалыеНомера(ВыборкаДокументов,КоличествоСимволов,Год) СчДокументов = 0; Если ВыборкаДокументов = "РКО" Тогда Выб=Документы.РасходныйКассовыйОрдер.Выбрать(); ИначеЕсли ВыборкаДокументов = "ПКО" Тогда Выб=Документы.ПриходныйКассовыйОрдер.Выбрать(); ИначеЕсли ВыборкаДокументов = "Заявка" Тогда Выб=Документы.мЗаявкаНаЗайм.Выбрать(); ИначеЕсли ВыборкаДокументов = "Договор" Тогда Выб=Документы.мКредитныйДоговор.Выбрать(); ИначеЕсли ВыборкаДокументов = "Возврат" Тогда Выб=Документы.мПлатежПоКредиту.Выбрать(); КонецЕсли; Пока Выб.Следующий() Цикл СчДокументов = СчДокументов + 1; КонецЦикла; Для н = 1 по КоличествоСимволов Цикл сч = ВыборкаСЧ(ВыборкаДокументов,н,год); Сообщить("В базе из " + СчДокументов + " есть " + сч + " документов с номером длины " + Н + " за " + Год + "год."); КонецЦикла; КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) Если Реквизит1 = "РКО" Тогда НайтиМалыеНомера("РКО",11,2019); ИначеЕсли Реквизит1 = "ПКО" Тогда НайтиМалыеНомера("ПКО",11,2019); ИначеЕсли Реквизит1 = "Заявка" Тогда НайтиМалыеНомера("Заявка",9,2019); ИначеЕсли Реквизит1 = "Договор" Тогда НайтиМалыеНомера("Договор",10,2019); ИначеЕсли Реквизит1 = "Возврат" Тогда НайтиМалыеНомера("Возврат",10,2019); КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() ЭлементыФормы.Реквизит1.СписокВыбора.Добавить("РКО"); ЭлементыФормы.Реквизит1.СписокВыбора.Добавить("ПКО"); ЭлементыФормы.Реквизит1.СписокВыбора.Добавить("Заявка"); ЭлементыФормы.Реквизит1.СписокВыбора.Добавить("Договор"); ЭлементыФормы.Реквизит1.СписокВыбора.Добавить("Возврат"); КонецПроцедуры |
|||
10
JuixyJes
23.12.19
✎
17:39
|
Ибо сейчас это все очень топорно и работает не правильно)
|
|||
11
lodger
23.12.19
✎
18:43
|
(10) ну сделаешь ты "ровную" нумерацию. а документ внутренний? первичка с нее не печатается?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |