Здравствуйте, господа.
Я в конфигураторе написал код нового документа АктПриема. Прописал его в меню. Но к номеру этого вновь созданного документа не добавляется префикс, заданный в настройках параметров учета. Пишется просто цифровой номер и все. Еще важный момент. В новом документе АктПриема с помощью специальной кнопки через процедуру "СоздатьОбъект" я заполняю штатную Расходную накладную. В этом случае к ее номеру тоже префикс не добавляется. Но! если создавать новый документ Расходная накладная из меню, тогда все в порядке. Префикс добавляется. Короче, ко всем штатным документам при вызове их из меню добавляется префикс. К новому документу префикс не добавляется. И к штатным документам, вызываемым программно из нового документа тоже не добавляется. К номерам, имеется ввиду.
Подскажите, пожалуйста, где в данной конфигурации управление добавлением префикса к номеру. Я искал по разным ключевым словам и в глобальном модуле, и в программных модулях отдельных документов. Безуспешно. Различий в параметрах нумерации документов тоже не вижу.
Спасибо!
ZUBR @ Вчера, 23:22
,
Для формирования номера документа с префиксом используйте процедуру глобального модуля глУстановитьНомерДок(Контекст).
CobraS @ Сегодня, 11:16
,
Я нашел эту процедуру в глобальном модуле. Но ни в одном документе не нашел ссылки на ее использование. Каким образом она используется для нумерации документов? Каков алгоритм? Не могу понять. Подскажите, или дайте, пожалуйста, ссылку, где почитать.
ZUBR @ Вчера, 18:32
,
1. в каждом документа есть предопределенная процедура
Процедура ВводНового(Скопирован)
глЗаполнитьШапку(Контекст);
глУстановитьНомерДок(Конт);
volodya1122, большое спасибо за краткость и конкретность! Сейчас буду разбираться.
ZUBR @ Сегодня, 18:11
,
Все правильно. Если в процедуру ВводНового ввести строку
глЗаполнитьШапку(Контекст);
, то при вводе нового документа он создается с номером, у которого есть префикс, определенный пользователем в настройках параметров учета. Процедура Расходная()
Расх = СоздатьОбъект ("Документ.РасходнаяНакладная");
Расх.Новый();
Расх.Фирма=Константа.ОсновнаяФирма;
Расх.Валюта=Константа.БазоваяВалюта;
Расх.Курс = Константа.ОсновнаяВалюта.Курс.Получить(ТекущаяДата());
Расх.Дата_Курса=ТекущаяДата();
Расх.Склад = Константа.ОсновнойСклад;
Расх.КатегорияЦен=Константа.ЦенаУм;
...........................................................
Расх.Записать();
ОткрытьФорму(Расх.ТекущийДокумент());
КонецПроцедуры
ZUBR @ Вчера, 19:40
,
У меня начали прописываться префиксы во всех документах. Думаю, это было связано с тем, что был установлен числовой формат поля вместо строкового. Точно не могу сказать, потому что сам я его не изменял. Вероятно, изменила сама программа, когда я пробовал прописывать разныные варианты в документы.
Для того, чтобы появились префиксы в номере документа при вводе нового документа программно из другого документа, необходимо хотя бы раз ввести и провести этот документ (который должен вводиться программно) из меню. Потом уже нумерация начинает идти с префиксами в любом случае. Почему так - не знаю. Может, что-то где-то нужно прописать. Это для информации.
ZUBR @ 31.08.19, 22:18
,
Неправильно думаєте. Попробую пояснити.
1. Якщо номер документа мав числовий формат, то там префік ніяк немажна вставити, так як в номері можуть бути тільки числа.
2. по коду із (6) префікс небуде створюватись, так як процедура ВводНового спацьовує тільки при інтерактивнім вводі документа. і відповідно не виконується функція глЗаполнитьШапку і все що в ній.
3. Нумерація у вас іде з префіксами тому що вже є 1 документ з префіксом, але не зовсім так. Система розуміє номер і префікс як одне ціле, і добавляє до максимального значення число 1 (тобро останній наприклад був ПРЕ-00005, то слідуючий буде ПРЕ-00006. але для системи ПРЕ-0005 - це тільки номер без префікса)
volodya1122 @ Сегодня, 10:48
, тобто, якщо я правильно зрозумів, при досягненні номера ПРЕ-9999 наступний буде ПРЕ10000? Без дефіса? Тоді це мене не дуже влаштовує. Чи можна якось вирішити цю проблему? Чи вона не вирішується в принципі?
ZUBR @ Сегодня, 19:35
,
це вирушуетьсяна етапі планування конфігурації.
1. Зазвичай для документу ставлять періодичність нумірації в межах року (тобто кожного року нумерація починається з одиниці
2. Проаналізувати скільки документів даного виду в рік (з добрим запасом) ви створюєте (100, 10000, 10000000000...). відповідно і таку довжину вказати для номеру документа (не забіти врахувати кількість символів в префіксі).
3. Можливо і в процесі роботи збільшити кількіть символів в номері, але тут буде сюрприз(так як ПРЕ999 білеше ніж ПРЕ1000 - строкові значення порівнюються посимвольно, то 1С буде намагатись весь час створити один і той самий номер), тому так нерадять робити. Але як вже відбулась така ситуація, і символів нехватає, тоді потрібно збільшити кількість символів в номері і всі документи за перід (наприклад рік) перенумерувати.
ПС. Наступний після ПРЕ-9999 мав би бути ПРЕ-10000 (система добавляє одиницю тільки до числової частини коду, все інше залишає як було), але так як є обмеження на кількість символів, то останній нуль відкидається і номер буде ПРЕ-1000. Після нього знову ПРЕ-1000 і так до бескінечності
volodya1122 @ Сегодня, 22:03
, а чи можна зробити так, щоб через рік нумерація продовжувалась. А не починалася з початку?
ZUBR @ Сегодня, 22:31
,
так, звичайно. в конфігураторі, там де реквізити шапки (трішки нижче) є розділ "Номер" і графа "періодичність" - там вибрати "по всем даного вида" - і тоді нумерація з нового року буде продовжуватись
ZUBR @ Сегодня, 22:31
,
да, вот здесь можно выбрать "По всем данного вида"
Макс1С @ Вчера, 23:53
,
volodya1122 @ Вчера, 23:47
, я це бачив, але не розумів, і зараз не зовсім розумію, чому конфігуратор видає попередження, що в даному разі, якщо вибрати цей варіант, номер може бути не унікальним. Чому саме так? Що мається на увазі?
ZUBR @ Сегодня, 0:20
,
Логічно подумати......
Наприклад до цього у вас була нумерація "В пределах года" тоду в 2018 році міг бути документ з номером ПРЕ-0005, і так як нумерація тільки в межах року то з наступного нумерація теж починається заново і в 2019 році знову буде локумент з номером ПРЕ-0005. Ось про це система і попереджає. Якщо у вас є такі документи в різних роках, то спершу потрібно їх перенумерувати. Якщо це новий документ і в різних роках немає однакових номерів, то можна не звертати увагу на це попередження
Здравствуйте! Я немного доработал конфигурацию, в тестовом режиме с префиксами было все нормально. Затем я удалил все со справочников, включая тестовую фирму и ее реквизиты, удалил все документы и т.д. чтобы сохранить конфигурацию в чистом виде. Затем для пробы снова записал фирму под тестовым названием Lala. Внес по паре данных в справочники. В параметрах учета поставил префикс АСЦ. Но документы выдаются не с этим префиксом. Номера штатной расходной накладной, равно как и приходной, куда я вообще не лазил, выдаются с префиксом "Осн - " - я так понимаю от слова Основной.
А номера вновь созданного документа, в модуль которого я по совету добавил
глЗаполнитьШапку(Контекст);
начинаются с префикса "Lal-" -первые три буквы названия тестовой фирмы Lala, которую я поставил в константах, как основную.Карочь, ребята, долго я ковырялся и пришел к выводу, что эта система в любом случае генерирует префиксы - первые три буквы от названия основной фирмы. Причем основная фирма одна и ее нельзя создать. Можно только переименовать.
Уважаемые господа! Прошу прощения за так мого текста. Жаль, что я не могу его удалить. В общем, результаты следующие. В моей конфигурации, независимо от того, прописан в параметрах учета префикс и какой, система автоматически присваивает префиксы к документам, состоящий из трех начальных букв основной фирмы. Основную фирму можно удалить, создав перед этим в справочнике свою фирму и записав ее в константу "ОсновнаяФирма". Почему нельзя менять префикс, я не знаю, но, в принципе, это меня тоже устраивает. Спасибо! Модераторы, прошу прощения за обилие воды. Если бы мог, почистил бы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua