Вопрос № 56045: Создал поле с выбором, вписал что надо выбирать, в программе значания выбираются но при кнопке сохранить программа 1с выдает "Поле агрегатного объекта не обнаружено". что это?...Вопрос № 56073: Уважаемые господа эксперты! Возможно не я первый задаю этот вопрос, но все же прошу Вас поделиться опытом. Ситуация: печатается Счет-Фактура (конфигурация не типовая). Товары имеют разной длины наименования, соответственно
при печати ячейка с названи...
Вопрос № 56.045
Создал поле с выбором, вписал что надо выбирать, в программе значания выбираются но при кнопке сохранить программа 1с выдает "Поле агрегатного объекта не обнаружено". что это?
Отвечает: Гребиников Павел Генадьевич
Здравствуйте, Батаков Сергей Александрович / Niacris!
"Поле агрегатного объекта не обнаружено" обычно выскакивает, если например нет такого реквизита. Посмотрите код и перепроверьте правильность создания реквизитов на форме и описания их в модуле. Было бы лучше если б вы сразу приводили код, где выдается ошибка...
--------- Плох тот юзер, который не мечтает стать админом...
Отвечает: vcv
Здравствуйте, Батаков Сергей Александрович / Niacris!
Сохранять можно только реквизиты справочника/документа. А реквизит не бывает на форме полем с выбором.
Если вы выбираете значение типа справочник, попробуйте сделать реквизит нужного типа, разместить его на форме и в свойствах поставить галочку "быстрый выбор".
Если вам надо нужен именно список значений, для сохранения сделайте числовой реквизит и в предопределенной процедуре ПриЗаписи заносите в реквизит номер выбранного значения ВашСписок.ТекущаяСтрока(). Не забудьте ПриОткрытии() формы устанавливать текущую строку списка в соответствии со знанием реквизита.
Ответ отправил: vcv (статус: 1-ый класс)
Ответ отправлен: 20.09.2006, 08:19
Отвечает: Ovr1970
Здравствуйте, Батаков Сергей Александрович / Niacris!
Полное сообщение говорит Вам, какое именно реквизит не обнаружен. Код с присвоением скорее всего находится в (или вызывается из ) формулы поля с выбором.
Если поле с выбором - это список значений, то для хранения выбранного значения нужно использовать некоторый реквизит с простым значением (строка или число). Имеет смысл тип Срока длины 1.
Тогда вы задаете список: Меню=создатьОбъект("СписокЗначений");
Меню.ДобавитьЗначение("А","Маленький товар");
Меню.ДобавитьЗначение("Б","Средний товар");
Меню.ДобавитьЗначение("В","Большой товар");
Меню.ДобавитьЗначение("Г","Большущий товар");
Меню.ДобавитьЗначение("Д","Огромный товар");
, где меню - это полу с выбором, а после выбора примерно такой код
ХранениеМеню (если помните строка длины 1)=Меню.ПолучитьЗначение(Меню.ТекущаяСтрока());
Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 20.09.2006, 11:01
Отвечает: Karanskiy Arkadiy
Здравствуйте, Батаков Сергей Александрович / Niacris!
Это ошибка :). Просто вы где-то неправильно написали код. Например: у вас есть такая запись.
Ном = СоздатьЭлемент("Справочник.Номенклатура");
......
Ном.Наименование = "Привет"; // В данном случае Ном является агрегатным эелементом и данная запись не вызовит ошибки описанной вами, но если например вы напишете такой код, то ошибка обязатель будет. см.ниже
Перем Ура;
....
Ура.Наименование = "Привет";
Успехов...
Ответ отправил: Karanskiy Arkadiy (статус: 3-ий класс)
Ответ отправлен: 21.09.2006, 20:48 Оценка за ответ: 5
Вопрос № 56.073
Уважаемые господа эксперты! Возможно не я первый задаю этот вопрос, но все же прошу Вас поделиться опытом. Ситуация: печатается Счет-Фактура (конфигурация не типовая). Товары имеют разной длины наименования, соответственно при печати ячейка с названием увеличивается на неопределенное количество строк. Один документ может содержать неограниченное количество строк. В результате СФ разъезжается на несколько печатных листов. Свободное пространство на листах посчитать можно, однако как посчитать на сколько строчек
будет перенесено наименование товара - проблема. Подскажите, каким образом можно прозвести такой расчет? Существуют ли готовые решения?
Отправлен: 20.09.2006, 12:51
Вопрос задал: LordAlex (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Inuki
Здравствуйте, LordAlex!
Самое простое - поставь в печатной форме шрифт моноширный типа Courier (все символы одинаковой ширины). И считай количество строк по длине наименования.
Ответ отправил: Inuki (статус: 1-ый класс)
Ответ отправлен: 20.09.2006, 13:34 Оценка за ответ: 4 Комментарий оценки: Реальный вариант. Спасибо. Но у нас есть корпоративные стандарты и кроме Arial руководство ничего не признает.
Ответ отправил: vcv (статус: 1-ый класс)
Ответ отправлен: 20.09.2006, 14:18 Оценка за ответ: 5 Комментарий оценки: Все гениальное просто! Идея отличная, попробую.