Версия для печати темы (https://pro1c.org.ua/index.php?s=16bbbac9d803e43d06d910eb74232b47&showtopic=36853)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Префиксы нового номера у самописных документов
Автор: Constantus 26.04.17, 15:43
Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)
Имеется самописный документ "СамДок"
Прописал его на подписку на событие при установке нового номера документа. Однако номер не сохраняется и прежде всего не проставляется префикс Организации.
Отладчиком обнаружил, что в
Процедура ДобавитьПрефиксОрганизации(ДокументОбъект, Префикс) Экспорт
ЗначениеЗаполнено(ДокументОбъект.Организация.Префикс)
значение не заполнено.
Хотя на форме документа присутствует реквизит Оргнизация
Понимаю, что нарушил какую-то последовательность действий. Подскажите как правильно прописать номер...
Кроме того, почему при создании нового Документа сразу прописывается номер 0000004...?
Автор: Bernet 26.04.17, 15:50
Constantus @ Сегодня, 16:43
,
Цитата
Хотя на форме документа присутствует реквизит Оргнизация
а реквизит "Префикс" у организации заполнен?
Цитата
Кроме того, почему при создании нового Документа сразу прописывается номер 0000004
потому что вы скорее всего пробовали 4 раза создавать новый документ, но не записывали его - только открывали форму, но номер при этом все равно резервируется.
Автор: Constantus 26.04.17, 15:57
Bernet @ Сегодня, 18:50
,
Да, заполнен. У типовых форм заполнение номера происходит нормально..., т.е. с префиксом...
Автор: logist 26.04.17, 16:01
Цитата(Constantus @ 26.04.17, 16:57)
Да, заполнен.
Кто-то из вас врет))) Если
Цитата(Constantus @ 26.04.17, 16:43)
значение не заполнено.
Автор: Constantus 26.04.17, 16:07
Цитата(logist @ 26.04.17, 19:01)
Кто-то из вас врет))) Если
Вот и я об томже...
Документ самописный, никаких процедур и функций ни в модуле формы, ни в модуле объекта нету...
Подозревал, что из-за отсутствия в модуле объекта нет процедуры Процедура ПриУстановкеНовогоНомера, но и в типовых как-то тоже нема
))
Автор: logist 26.04.17, 16:28
Цитата(Constantus @ 26.04.17, 16:43)
ЗначениеЗаполнено(ДокументОбъект.Организация.Префикс)
А ЗначениеЗаполнено(ДокументОбъект.Организация) - показывает организацию которая выбрана в документе?
Автор: Constantus 26.04.17, 16:37
Constantus @ Сегодня, 19:07
,
Если форму документа делать управляемой, то номерация срабатывает правильно...
Цитата(logist @ 26.04.17, 19:28)
А ЗначениеЗаполнено(ДокументОбъект.Организация) - показывает организацию которая выбрана в документе?
К сожалению пусто... В расшифровке по ДокументОбъект организация также пуста...
Автор: logist 26.04.17, 16:45
Цитата(Constantus @ 26.04.17, 17:37)
К сожалению пусто...
Ну так вот вам и ответ на вопрос. У вас реквизит на форме не связан с реквизитом Объекта.
Автор: Constantus 26.04.17, 16:54
Цитата(logist @ 26.04.17, 19:45)
Ну так вот вам и ответ на вопрос. У вас реквизит на форме не связан с реквизитом Объекта.
Да не может быть! В закладке "Данные" стоит реквизит "Организация", источник СправочникОрганизации.
На форме имеется поле Организация, связана с реквизитом "Организация" источник прописан серым нерадактированным полем с соответствующей ссылкой...
Автор: Bernet 26.04.17, 16:58
Смотрите тогда где определяется объект "ДокументОбъект" в коде и что с ним происходит потом, может реквизит "Организация" очищается где-то при записи/перед записью?
Автор: Petre 26.04.17, 17:02
Constantus @ Сегодня, 17:54
,
Возможно, следует подписать документ на событие, которое до наступления события установки нового номера заполняет документ дефолтовыми значениями, в. т. ч. организацией.
Автор: logist 26.04.17, 17:03
Цитата(Constantus @ 26.04.17, 17:54)
Да не может быть! В закладке "Данные" стоит реквизит "Организация"
А должно быть "Объект.Организация"
Автор: Constantus 26.04.17, 17:16
Процедура ПриОткрытии()
Если ЭтоНовый() Тогда
Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
Склад = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойСклад");
КонецЕсли
КонецПроцедуры
Этот код у меня стоит при открытии формы документа... Может потому что Организация никак не записана? Поэтому не видит никакой организации, ну и соответствющий префикс...
Как тогда сделать, чтобы при открытии формы номер документа был пуст?
Блин...
Поставил при открытии на новом документе
Номер = Null
Все сработало...
Автор: logist 26.04.17, 17:23
Цитата(Constantus @ 26.04.17, 18:16)
Поставил при открытии на новом документе
Номер = Null
А почему он у вас там не пустой? Хотя. если вам пофиг, и костыли это нормально...
Автор: Constantus 26.04.17, 17:32
logist @ Сегодня, 20:23
,
Вот и хотел выяснить это, почему в самописном документе в обычной форме при создании нового документа сразу проставляется номер? В управляемой форме нет такого эффекта...
Как правильно сделать открытие нового документа?
Автор: Petre 27.04.17, 8:29
Constantus @ Вчера, 18:32
,
В обычной форме документа есть соответствующее свойство присваивания номера.
Автор: RedCat77 27.04.17, 8:41
Цитата(Constantus @ 26.04.17, 18:32)
в обычной форме при создании нового документа сразу проставляется номер
Какое значение установлено в свойстве формы "Автонумерация"?
Автор: Constantus 27.04.17, 13:47
RedCat77 @ Сегодня, 11:41
,
Автонумерация: Истина
Длина номера: 11
Контроль уникальности: Истина
Тип номера: строка
Непериодический
Цитата(logist @ 26.04.17, 20:23)
А почему он у вас там не пустой? Хотя. если вам пофиг, и костыли это нормально...
Вот и всплыл костыль: при таком моем подходе (Номер = Null) нумерация работает, но номер идет через 1, т.е.
ПР0001, ПР0003, ПР0005....
Так как правильно организовать нормальную нумерацию при самописных документах?
Constantus @ Сегодня, 16:09
,
Блин... убрал автонумерацию именно в форме (такой малозаметный реквизит) вроде пошла нумерация...
Или еще есть подводные ножы в запазухе?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua