Реквизит документа как нумератор #738376


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

В этой группе 1С