1С:Предприятие 8.1 Встроенный язык
24.01.2010
20:52
#1
"Здравствуйте, друзья!
Изучаю платформу - возникло пару вопросов:
1. Как программно изменить реквизиты элемента в справочнике? Пока нашел только такой пример ковыряясь самостоятельно в объектной модели:
СправочникЗаемщиков = Справочники.СправочникЗаемщиков;
НайденнаяСсылка = СправочникЗаемщиков.НайтиПоНаименованию("Заемщик Наименование", Истина);
Если НайденнаяСсылка <> СправочникЗаемщиков.ПустаяСсылка() Тогда
НайденнаяСсылка.ИНН = "4343243267565"; - не будет работать
Иначе
Сообщить("Заемщика Заемщик Наименование нет в базе");
КонецЕсли;
Однако таким способом собственно запись новых значений реквизитов элемента справочника не разрешена. Поле соответствующее реквизиту элемента справочника (НайденнаяСсылка.ИНН) доступно только для чтения.
Можно как-нибудь изменить программно значение реквизита существующего элемента справочника?
2. Как программно сохранить документ без инициации проведения? Например, пользователь создает в системе документ, заполняет реквизиты и сохраняет его, а процедуру проведения инициирует позже, при последующем открытии (нажатием кнопки, например) в нужный ему момент.
Заранее признателен!"
Изучаю платформу - возникло пару вопросов:
1. Как программно изменить реквизиты элемента в справочнике? Пока нашел только такой пример ковыряясь самостоятельно в объектной модели:
СправочникЗаемщиков = Справочники.СправочникЗаемщиков;
НайденнаяСсылка = СправочникЗаемщиков.НайтиПоНаименованию("Заемщик Наименование", Истина);
Если НайденнаяСсылка <> СправочникЗаемщиков.ПустаяСсылка() Тогда
НайденнаяСсылка.ИНН = "4343243267565"; - не будет работать
Иначе
Сообщить("Заемщика Заемщик Наименование нет в базе");
КонецЕсли;
Однако таким способом собственно запись новых значений реквизитов элемента справочника не разрешена. Поле соответствующее реквизиту элемента справочника (НайденнаяСсылка.ИНН) доступно только для чтения.
Можно как-нибудь изменить программно значение реквизита существующего элемента справочника?
2. Как программно сохранить документ без инициации проведения? Например, пользователь создает в системе документ, заполняет реквизиты и сохраняет его, а процедуру проведения инициирует позже, при последующем открытии (нажатием кнопки, например) в нужный ему момент.
Заранее признателен!"
24.01.2010
20:58
#2
"1. В первом примере НайденнаяСсылка это именно ссылка на элемент справочника. Объект нельзя менять по ссылке, нужно сначала получить его, например
НайденныйОбъект = НайденнаяСсылка.ПолучитьОбъект();
После всех манипуляций с заменой значений объект нужно записать
НайденныйОбъект.Записать();
2. Сохранить документ без проведения можно. Это называется запись. При записи обработка проведения не запускается, соответственно движения документа не формируются. Документ записывается по кнопке "Записать". Если документ требуется провести - нужно нажать кнопку "ОК", либо кнопку проведения в верхней панели документа. По кнопке ОК происходит проведение и закрытие документа. По кнопке проведения - только проведение."
НайденныйОбъект = НайденнаяСсылка.ПолучитьОбъект();
После всех манипуляций с заменой значений объект нужно записать
НайденныйОбъект.Записать();
2. Сохранить документ без проведения можно. Это называется запись. При записи обработка проведения не запускается, соответственно движения документа не формируются. Документ записывается по кнопке "Записать". Если документ требуется провести - нужно нажать кнопку "ОК", либо кнопку проведения в верхней панели документа. По кнопке ОК происходит проведение и закрытие документа. По кнопке проведения - только проведение."
Читают тему
(гостей: 1)