|
Реквизит документа как нумератор | ☑ | ||
---|---|---|---|---|
0
Ly_Alena
30.03.15
✎
13:16
|
Добрый день! У меня возникла такая задача. Сделать журнал зарегистрированных актов сверки. Добавила реквизит булево - зарегистрирован. И если он истина, то нужно чтобы реквизиту НомерРегистрации присваивался уникальный номер. Как это сделать?
|
|||
1
Fish
30.03.15
✎
13:18
|
(0) А что не получается?
|
|||
2
Ly_Alena
30.03.15
✎
13:19
|
Вводила константу. Внизу значение 1, в процедуре +1 к константе. Но в не цикла одно и то же значение будет. А цикл до 1000 допустим. Но мне хотелось бы чтобы выводил в формате 001, а не 1.
Может другой есть способ? |
|||
3
DrShad
30.03.15
✎
13:19
|
НомерРегистрации = Новый УникальныйИдентификатор();
|
|||
4
Ly_Alena
30.03.15
✎
13:19
|
(1) да собственно говоря вообще не получается.
|
|||
5
DrShad
30.03.15
✎
13:20
|
(2) Формат(НомерРегистрации, "ЧЦ=3; ЧВН=")
|
|||
6
Ly_Alena
30.03.15
✎
13:20
|
(3) и все?
|
|||
7
Fish
30.03.15
✎
13:21
|
(6) Ну если тебя устроит номер в виде УИД, тогда да.
|
|||
8
DrShad
30.03.15
✎
13:24
|
(7) главное что уникальный :)
|
|||
9
Ly_Alena
30.03.15
✎
13:24
|
нет ) (7)
|
|||
10
Ly_Alena
30.03.15
✎
14:03
|
(7) а что делать дальше? я так и не поняла - в цикле или есть какой-то механизм?
|
|||
11
Fish
30.03.15
✎
14:06
|
(10) А зачем вообще тут цикл? Тебе нужен свой механизм нумерации. Для начала определись с форматом номера, его периодичностью и т.п., а потом реализовывай.
|
|||
12
Ly_Alena
30.03.15
✎
14:23
|
Я определилась - переиодичность в течении года, формат трехзначный. а как реализовать?
|
|||
13
Fish
30.03.15
✎
14:26
|
(12) Вариантов на самом деле много: можно завести РС, в котором будет храниться последний свободный номер, можно пойти другим путём: посмотреть, как это реализовано в типовом документообороте (но там достаточно навороченный механизм).
И, имхо, три разряда всё-таки маловато для документа. |
|||
14
Ly_Alena
31.03.15
✎
04:58
|
(13) номеров за год не больше тысячи и я подумала, что больше заводить нет смысла
|
|||
15
Cube
31.03.15
✎
05:40
|
(12) Делаешь запрос, что-то вроде этого:
ВЫБРАТЬ МАКСИМУМ(АктСверкиВзаиморасчетов.Номер) КАК Номер ИЗ Документ.АктСверкиВзаиморасчетов КАК АктСверкиВзаиморасчетов ГДЕ АктСверкиВзаиморасчетов.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ГОД) И КОНЕЦПЕРИОДА(&Дата, ГОД) И АктСверкиВзаиморасчетов.Организация = &Организация который возвращает последний номер. Дальше отделяешь префикс (если есть) от числовой части, числовую часть преобразуешь в число и прибавляешь к ней единицу. Затем дополняешь номер лидирующими нулями и возвращаешь префикс на место. Твой номер готов. |
|||
16
Ly_Alena
31.03.15
✎
06:17
|
(15) номера актов сверки уже перевалили за 2 тысячи, а этот номер мне нужно начать с 001.
Даже не думала что с этим может быть столько заморочек... |
|||
17
torgm
31.03.15
✎
06:21
|
(0) отдельные префиксы для согласованных никак? Задачу кто ставил бухгалтера или само получилось?
|
|||
18
Cube
31.03.15
✎
06:25
|
(16) Ну так ты ищи не последний "Номер", а последний "НомерРегистрации "
|
|||
19
Cube
31.03.15
✎
06:43
|
(16) Стой стой, дай угадаю: ты хочешь получить нумерацию актов сверок без пропусков номеров?)
|
|||
20
Ly_Alena
31.03.15
✎
07:34
|
(19) я хочу получить не нумерацию актов сверок. а мне нужно сделать нумерацию в журнале зарегистрированных актов сверок.
|
|||
21
Ly_Alena
31.03.15
✎
07:37
|
(19) с помощью регистра сделала, но почему-то в журнале не выводит. Как будто в форме номер вывел, а в реквизит не записал
|
|||
22
Ly_Alena
31.03.15
✎
07:40
|
(19) у акта сверки есть свой номер. Чтобы вывести весь список зарегистрированных актов, я добавила новый реквизит - регистрации (булево). когда ставят эту галочку, при записи заводится номер этой регистрации. Этот номер регистрации в свою очередь выводится в журнале регистраций актов сверок. Не знаю на сколько понятно объяснила.
|
|||
23
Cube
31.03.15
✎
07:47
|
(22) Понятно. Только реквизит типа булево лишний. Если номер регистрации заполнен, то акт зарегистрирован... :)
А на форме сделай кнопку "Зарегистрировать"/"Отмена регистрации". Зачем лишние галочки... |
|||
24
Ly_Alena
31.03.15
✎
07:55
|
(23) он (Номер регистрации) заполняется (и не в ручную) только если стоит галочка "зарегистрирован".
А вопрос - галочка, кнопка - а в чем разница? |
|||
25
Ly_Alena
31.03.15
✎
07:58
|
На данный момент выводит номер из регистра сведений, но выводит в ввиду "1", "2". а мне нужно "001". В свойствах реквизита и элемента формы стоит ведущие нули и количество знаков 3. В чем загвоздка?
|
|||
26
Cube
31.03.15
✎
08:00
|
(24) Разницы нет, просто у тебя лишний неиспользуемый реквизит, который, в принципе, не нужен...
|
|||
27
Cube
31.03.15
✎
08:00
|
(25) Тип номера сделай строка и пользуйся функцией Формат()
|
|||
28
Ly_Alena
31.03.15
✎
08:05
|
(26) сделаю кнопку, спасибо! я об этом не подумала!
(27) если сделаю строкой, то не смогу прибавлять 1 к последнему |
|||
29
Мимохожий Однако
31.03.15
✎
08:09
|
Сделай документ МойРегистраторАктовСверки, а в нём храни ссылку на Акт сверки в единственном реквизите.
|
|||
30
Ly_Alena
31.03.15
✎
08:12
|
(29) а чем Документ лучше РС?
|
|||
31
Мимохожий Однако
31.03.15
✎
08:13
|
(30)Там уже есть нумератор.
|
|||
32
Мимохожий Однако
31.03.15
✎
08:14
|
(29)* в акте сверки храни ссылку на МойРегистратор...
|
|||
33
Ly_Alena
31.03.15
✎
08:18
|
(27) а в процессе изменения теперь возникли сложности, когда в журнале актов сверок нужно отсортировать только зарегистрированные , то сортировать не получится. ВИдимо реквизит булево нужно оставить.
|
|||
34
Ly_Alena
31.03.15
✎
08:27
|
(32) вот это мимохожийоднако....
Как это работает не понимаю? На каждую регистрацию в документе будет меняться реквизит? |
|||
35
Cube
31.03.15
✎
08:34
|
(28) Во всех типовых, значит, могут, а ты не можешь...
А если так: НовыйНомер = Число(СтарыйНомерСтрокой) + 1; ?)) |
|||
36
Cube
31.03.15
✎
08:35
|
(30) А зачем тебе вообще РС, я что-то не понял...
|
|||
37
Мимохожий Однако
31.03.15
✎
08:41
|
(34)Попробую объяснить еще раз.
1. В акте сверки используешь реквизит "Мой регистратор" тип Документ МойРегистратор 2. По кнопке Зарегистрировать программно создаешь этот документ и подвязываешь к Акту через реквизит. Если реквизит уже подвязан, то документ не создаётся и не прицепляется ссылка. 3. Документ МойРегистрато имеет только нужный регистратор и всё. Даже форму не надо создавать. ... Варианты могут быть и другие. |
|||
38
Cube
31.03.15
✎
08:44
|
(37) Это уже изврат какой-то...
|
|||
39
Мимохожий Однако
31.03.15
✎
08:48
|
(38)Подскажи девушке что-нибудь попроще.
|
|||
40
Cube
31.03.15
✎
08:49
|
(39) Так (15) же.
|
|||
41
Ly_Alena
31.03.15
✎
08:50
|
(36) В РС хранится номер регистрации... к новому номеру добавляется 1 и записывается в РС.
Это то как сейчас работает. Теперь совсем запуталась с документом и с вашим вопросом "зачем РС?" а как еще? |
|||
42
Ly_Alena
31.03.15
✎
08:50
|
(40) на (15) ответила вроде как..
|
|||
43
Cube
31.03.15
✎
08:51
|
(42) Я в курсе, я ж не тебе писал пост (40) :)
|
|||
44
Cube
31.03.15
✎
08:52
|
(41) Смотри, РС тоже не нужен. Найти последний номер можно запросом по документам.
|
|||
45
Cube
31.03.15
✎
08:54
|
То есть, из метаданных нужен только реквизит "НоиерРегистрации" и всё, остальное всё делается кодом.
|
|||
46
Ly_Alena
31.03.15
✎
08:59
|
(45) а как?
|
|||
47
Мимохожий Однако
31.03.15
✎
08:59
|
(40)Если брать за основу твой вариант (он возможно и лучше моего), то проблем нет. Достаточно завести реквизит тип число и проставлять его на основе запроса как в (44). Выводить этот реквизит на форму не надо и обрабатывать только программно через внешнюю обработку. Да и реквизит можно сделать дополнительным. Вместо журнала, с которым бьётся девушка, достаточно сделать отчет из той же внешней обработки.
... Я свой вариант предложил для примера. Если он является "извратом" , то можно игнорировать. Я не обижусь )) ... Причина проблем ТС в нечёткой постановке задачи.ИМХО. |
|||
48
Ly_Alena
31.03.15
✎
09:02
|
(47) Журнал нужен по многим причинам и печатная форма и фильтры. а отчет только если скд может..
|
|||
49
Cube
31.03.15
✎
09:03
|
(46) Пост (15) же! :))
Пациент: "Доктор, меня никто не замечает..." Доктор: "Кто здесь?" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |