Объект "Периодический"
16.08.2006
19:46
#1
Написал внешнюю обработку для контроля и редактирования периодических реквизитов справочников. Когда все это дело выводится на печать в виде таблицы, в свойствах ячейки таблицы в расшифровке пишу: "Пер.Документ". Всё ОК! Открывается документ, коим были установлены значения реквизита, если напишу: "Пер.Реквизит", при попытке расшифровки появляется окошко с названием реквизита. Если пишу просто "Пер" - появляется окошко с сообщением "Неизвестный объект!".
Если "Пер.ТекущийОбъект()" - открывается форма элемента справочника.
"Пер" - это Пер = СоздатьОбъект("Периодический")...
со всеми вытекающими последствиями и выборкой результатов и выводом на печать.
Есть ли какой-нибудь простой способ, чтоб открыть редактирование периодического реквизита справочника, установленного вручную, чтоб не заморачиваться и не перепахивать глобальный модуль процедуру "ОбработкаЯчейкиТаблицы(...)", дописывав там всякие "ОткрытьФорму(..." и т.д.?
ТаблицуЗначений тоже не хотелось бы использовать, вместо таблицы - не красиво.
Если "Пер.ТекущийОбъект()" - открывается форма элемента справочника.
"Пер" - это Пер = СоздатьОбъект("Периодический")...
со всеми вытекающими последствиями и выборкой результатов и выводом на печать.
Есть ли какой-нибудь простой способ, чтоб открыть редактирование периодического реквизита справочника, установленного вручную, чтоб не заморачиваться и не перепахивать глобальный модуль процедуру "ОбработкаЯчейкиТаблицы(...)", дописывав там всякие "ОткрытьФорму(..." и т.д.?
ТаблицуЗначений тоже не хотелось бы использовать, вместо таблицы - не красиво.
17.08.2006
10:06
#2
Как-то описано всё запутано... из всего я понял следующее:
нужно, что бы из таблицы можно было вызвать редактирование переодического реквизита
справочника... (это кратко вопрос
Только вот зачем переписывать глобальный модуль?
поиск процедуры "ОбработкаЯчейкиТаблицы" происходит вначале в теле обработки, а потом в глобальном модуле.
Так что пиши эту процедуру в обработке и всё будет хорошо. А из неё и вызывай стандартные обработки по работе с переодическими реквизитами.
Могу посоветовать в поле "Расшифровка" устанавливать полный код элемента справочника + наименование реквизита. (можно так же и наименование справочника для полного счастья)
Естественно в виде строки... А далее всё дело техники.
нужно, что бы из таблицы можно было вызвать редактирование переодического реквизита
справочника... (это кратко вопрос
Только вот зачем переписывать глобальный модуль?
поиск процедуры "ОбработкаЯчейкиТаблицы" происходит вначале в теле обработки, а потом в глобальном модуле.
Так что пиши эту процедуру в обработке и всё будет хорошо. А из неё и вызывай стандартные обработки по работе с переодическими реквизитами.
Могу посоветовать в поле "Расшифровка" устанавливать полный код элемента справочника + наименование реквизита. (можно так же и наименование справочника для полного счастья)
Естественно в виде строки... А далее всё дело техники.
17.08.2006
21:05
#3
">> Могу посоветовать в поле "Расшифровка" устанавливать полный код элемента справочника + наименование реквизита.
(можно так же и наименование справочника для полного счастья)
> Естественно в виде строки... А далее всё дело техники.
а лучше наверное виде списка значений
СписокЗначений = СоздатьОбъект("СписокЗначенией");
СписокЗначений.Установить("Объект",Спр.ТекущийЭлемент());
СписокЗначений.Установить("Реквизит","ЦенаРозничная");
можно дату
СписокЗначений.Установить("УстановитьНаДату",РабочаяДата());
потом... в ОбоаботкеЯчейкиТаблицы()
определили тип значиния и Например "Число"
ВвестиЧисло(,,)... а ддальше что хочеш делай
"
(можно так же и наименование справочника для полного счастья)
> Естественно в виде строки... А далее всё дело техники.
а лучше наверное виде списка значений
СписокЗначений = СоздатьОбъект("СписокЗначенией");
СписокЗначений.Установить("Объект",Спр.ТекущийЭлемент());
СписокЗначений.Установить("Реквизит","ЦенаРозничная");
можно дату
СписокЗначений.Установить("УстановитьНаДату",РабочаяДата());
потом... в ОбоаботкеЯчейкиТаблицы()
определили тип значиния и Например "Число"
ВвестиЧисло(,,)... а ддальше что хочеш делай
"
18.08.2006
05:39
#4
С объективной точки зрения так не является лучше.
По таким простым причинам, что скорость работы снижается, увеличивается
объём хранимой информации...
Ведь не для каждой ячейки-то нужно будет смотреть историю, редактировать.
Поэтому зачем хранить лишние данные.
Я просто не придерживаюсь методики: лучше день потерять, но потом за пять минут долететь.
По таким простым причинам, что скорость работы снижается, увеличивается
объём хранимой информации...
Ведь не для каждой ячейки-то нужно будет смотреть историю, редактировать.
Поэтому зачем хранить лишние данные.
Я просто не придерживаюсь методики: лучше день потерять, но потом за пять минут долететь.
21.08.2006
18:02
#5
Я просто не хотел извращаться, думал, может быть есть более простой выход:
написать в расшифровке, что-то типа Пер.ТекущийОбъект().ХХХ. и тд. и тп.
или Пер.Получить(...).. что-то в этом роде.
А воощще хотелось бы, чтобы открывалось окно редактирования периодического реквизита, Всеравно, как будто бы нажали кнопочку с тремя сине-белыми листками.
написать в расшифровке, что-то типа Пер.ТекущийОбъект().ХХХ. и тд. и тп.
или Пер.Получить(...).. что-то в этом роде.
А воощще хотелось бы, чтобы открывалось окно редактирования периодического реквизита, Всеравно, как будто бы нажали кнопочку с тремя сине-белыми листками.
Читают тему
(гостей: 1)