Не получается обратиться по Ссылке к новому элементу справочника, документа или другого объекта ссылочного типа? Отсутствует ссылка у нового объекта? В некоторых случаях требуется обратиться к данным документа, справочника или другого элемента объектного типа, который еще не записан в базу данных. Т.к. он еще не записан, то напрямую обратиться через […]
Справочники
Бывает требуется выполнить удаление строки из табличной части, например, справочника. Удаление строки табличной части выполняется по индексу: ОбъектСпр.ДополнительныеРеквизиты.Удалить(ИндексЭлементаКоллекции); Индекс предварительно нужно получить
Вопрос Как установить отбор в справочнике «без помеченных на удаление» программным путем? Ответ Когда справочник наполняется помеченными на удаление объектами, они начинают мешать пользователям выбирать значение справочника. Бывает, что долго не представляется возможным удалить помеченные на удаление элементы. Чтобы пользователям они не мешали,
Вопрос Как в справочнике добавить кнопку, которая в одно нажатие отобрала бы элементы справочника с конкретным (заданным) значением реквизита? Ответ Для этого под кнопкой на форме списка справочника помещается примерно такая процедура: // Процедура выполняет отбор ячеек типа «Упаковка» и автоматически отключает иерархию // СправочникСписок — основной реквизит формы (см. […]
Вопрос Как установить связь по владельцу в форме Предположим, что где-то, например, в форме списка регистра, требуется дать пользователю возможность интерактивно указать единицу хранения номенклатуры. «Номенклатура» — это справочник. «Единица хранения» — справочник, подчиненный номенклатуре. Справочник «Номенклатура» обычно содержит очень много элементов. Если мы в форме списка регистра просто добавим […]
Как установить выбор подчиненного элемента справочника 1. В свойствах поля выбора подчиненного элемента установить значение связи по владельцу, и назначить процедуру событию НачалоВыбора (см. рис): 2. Код процедуры: Процедура ЕдиницаХраненияНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.усЕдиницыХранения.ПолучитьФормуВыбора(,Элемент,); ФормаВыбора.ПараметрОтборПоВладельцу = Номенклатура; ФормаВыбора.НачальноеЗначениеВыбора = Номенклатура.БазоваяЕдиницаХранения; ФормаВыбора.Открыть(); КонецПроцедуры См. так же статью о […]
Функция СозданиеЭлемента(УказанноеЗначение, НаименованиеСправочника, СчетчикПоСтрокам, СчетчикПоЛистам, ПоКоду = Ложь, Владелец = «») НайденноеЗначение = Справочники[НаименованиеСправочника].ПустаяСсылка(); // создание Если ЗначениеЗаполнено(УказанноеЗначение) Тогда ИскомыйОбъект = Справочники[НаименованиеСправочника].СоздатьЭлемент(); Если ПоКоду Тогда ИскомыйОбъект.Код = УказанноеЗначение; Иначе ИскомыйОбъект.Наименование = УказанноеЗначение; КонецЕсли; Если ЗначениеЗаполнено(Владелец)Тогда ИскомыйОбъект.Владелец = Владелец; КонецЕсли; Попытка ИскомыйОбъект.Записать(); НайденноеЗначение = ИскомыйОбъект.Ссылка; Исключение Сообщить(«Не удалось создать новый элемент […]
Вопрос Бывает, необходимо назначить один из элементов справочника «более главным», не затрагивая структуру самого справочника, т.е. объединить элементы неиерархического справочника в одну группу, либо добавить другой «срез иерархии», отличающийся от уже существующего. Как это сделать? Ответ Предположим, требуется объединить контрагентов в группу и назначить этой группе одного «главного» контрагента. При […]
Функция ИдентификацияЭлемента(УказанноеЗначение, НаименованиеСправочника, СчетчикПоСтрокам, СчетчикПоЛистам, ПоКоду = Ложь, Создавать = Ложь) НайденныйЭлемент = Справочники[НаименованиеСправочника].ПустаяСсылка(); // найдем элемент Если ЗначениеЗаполнено(УказанноеЗначение) Тогда // попробуем отыскать указанный элемент по коду или по наименованию Если ПоКоду Тогда НайденныйЭлемент = Справочники[НаименованиеСправочника].НайтиПоКоду(СокрЛП(УказанноеЗначение)); Иначе НайденныйЭлемент = Справочники[НаименованиеСправочника].НайтиПоНаименованию(СокрЛП(УказанноеЗначение), Истина); КонецЕсли; Если НЕ ЗначениеЗаполнено(НайденныйЭлемент) И НЕ Создавать Тогда Сообщить(«Не […]