Как удалить строку табличной части справочника программно (1С:Программисту 8.3)

Удаление строки табличной части справочника выполняется по индексу: ОбъектСпр.ДополнительныеРеквизиты.Удалить(ИндексЭлементаКоллекции); Индекс предварительно нужно получить

Continue reading


Механизмы отборов — как программно установить отбор в справочнике «Без помеченных на удаление», «Без папок», отключить иерархический просмотр (1С: Программисту)

Вопрос Как установить отбор в справочнике «без помеченных на удаление» программным путем? Ответ Когда справочник наполняется помеченными на удаление объектами, они начинают мешать пользователям выбирать значение справочника. Бывает, что долго не представляется возможным удалить помеченные на удаление элементы. Чтобы пользователям они не мешали,

Continue reading


Как в справочнике добавить кнопку, которая в одно нажатие отобрала бы элементы справочника с конкретным (заданным) значением реквизита? (1С: Программисту)

Вопрос Как в справочнике добавить кнопку, которая в одно нажатие отобрала бы элементы справочника с конкретным (заданным) значением реквизита? Ответ Для этого под кнопкой на форме списка справочника помещается примерно такая процедура: // Процедура выполняет отбор ячеек типа «Упаковка» и автоматически отключает иерархию // СправочникСписок — основной реквизит формы (см. http://www.1c-h.ru/?p=1060 ) // ЭлементыФормы — […]

Continue reading


Как программно установить связь по владельцу в форме. Как программно добавить новый элемент справочника, если у него есть владелец (1С: Программисту)

Вопрос Как установить связь по владельцу в форме? Ответ Предположим, что где-то, например, в форме списка регистра, требуется дать пользователю возможность интерактивно указать единицу хранения номенклатуры. «Номенклатура» — это справочник. «Единица хранения» — справочник, подчиненный номенклатуре. Справочник «Номенклатура» обычно содержит очень много элементов. Если мы в форме списка регистра, просто добавим две графы — «Номенклатура» […]

Continue reading


Как установить выбор подчиненного элемента справочника (1С: v8 (8.1): Программисту: Справочники: Язык программирования)

Вопрос Как установить выбор подчиненного элемента справочника? Ответ 1. В свойствах поля выбора подчиненного элемента установить значение связи по владельцу, и назначить процедуру событию НачалоВыбора (см. рис): 2. Код процедуры: Процедура ЕдиницаХраненияНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.усЕдиницыХранения.ПолучитьФормуВыбора(,Элемент,); ФормаВыбора.ПараметрОтборПоВладельцу = Номенклатура; ФормаВыбора.НачальноеЗначениеВыбора = Номенклатура.БазоваяЕдиницаХранения; ФормаВыбора.Открыть(); КонецПроцедуры См. так же статью о программной установке связи […]

Continue reading


Создание элемента справочника (1С: 8.1: Язык программирования: Справочники)

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

Continue reading


Как назначить один из элементов справочника «более главным». Как создать группу для неиерархического справочника (1С: Программисту)

Вопрос Бывает, необходимо назначить один из элементов справочника «более главным», не затрагивая структуру самого справочника, т.е. объединить элементы неиерархического справочника в одну группу, либо добавить другой «срез иерархии», отличающийся от уже существующего. Как это сделать? Ответ Предположим, требуется объединить контрагентов в группу и назначить этой группе одного «главного» контрагента. При этом по условию задачи нельзя […]

Continue reading


Универсальная идентификация элемента (1С, 8.1, Язык программирования, Справочники)

Функция ИдентификацияЭлемента(УказанноеЗначение, НаименованиеСправочника, СчетчикПоСтрокам, СчетчикПоЛистам, ПоКоду = Ложь, Создавать = Ложь) НайденныйЭлемент = Справочники[НаименованиеСправочника].ПустаяСсылка(); // найдем элемент Если ЗначениеЗаполнено(УказанноеЗначение) Тогда // попробуем отыскать указанный элемент по коду или по наименованию Если ПоКоду Тогда НайденныйЭлемент = Справочники[НаименованиеСправочника].НайтиПоКоду(СокрЛП(УказанноеЗначение)); Иначе НайденныйЭлемент = Справочники[НаименованиеСправочника].НайтиПоНаименованию(СокрЛП(УказанноеЗначение), Истина); КонецЕсли; Если НЕ ЗначениеЗаполнено(НайденныйЭлемент) И НЕ Создавать Тогда Сообщить(«Не удалось найти указанный элемент «+ […]

Continue reading