powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Ввод на основании 1с 8.1
6 сообщений из 6, страница 1 из 1
Ввод на основании 1с 8.1
    #35828536
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток Господа программисты.
Не могу битый час решить проблему в 1с 8.1:
«Есть 2 справочника "Заказчики" и «Договора». Справочник «Договора» вводится на основании Справочника «Заказчики» через Элемент управления Формы… Действие. Тип действия - ВводНаОсновании.»
В случаи если справочник не сохранен, ни каких данных не передается.
Я выкрутился, создав реквизит с типом Булево и в случаи, если передаются не сохраненные данные этот реквизит принимает значение - Ложь!
Но процедура ОбработкаЗаполнения() находится в модуле справочника. А мне необходимо запретить открывать форму справочника, если справочник «Заказчики» не сохранен…
Добавление реквизита помогло… сли открывать справочник «Договора» через ввод на основании он открывается а если открывать непосредственном двойным нажатием то реквизит принимает значение Ложь… И естественно документ не открывается...

У меня вопрос такой:
«Как запретить ввод на основании, если справочник не сохранен»?
...
Рейтинг: 0 / 0
Ввод на основании 1с 8.1
    #35828666
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если Владелец.Пустая() и ЭтоНовый() Тогда
Отказ=Истина;
Возврат
КонецЕсли;
КонецПроцедуры
...
Рейтинг: 0 / 0
Ввод на основании 1с 8.1
    #35831329
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное!!!... Владелец - это объект на основании которого выполняется "Ввод на основании"???...

И еще вопросик как обращаться к ЭлементамФормы справочника через другой справочник.

Пытаюсь через метод

Справочники.******.НайтиПоКоду (******).ПолучитьФорму("ФормаЭлемента").ЭлементыФормы()

Но через синтакс-помошник понял, что данный метод используется для получения доступа к Элементам управления а не Элементу с типом (Надпись).

Ситуация такова... В одном справочнике есть "Надпись". ПриЗаписи другого справочника необходимо изменять Заголовок надписи. Ни как не могу обратится к надписи. Если невозможно к «Надписи» то хотя бы к Реквизиту Формы. Подчеркиваю Формы а не справочника. Заранее спасибо... Не ожидал столь скорый ответ. Низкий вам поклон.
...
Рейтинг: 0 / 0
Ввод на основании 1с 8.1
    #35831515
Паля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не могу удержаться чтоб не ответить на столь красиво раскрашеный пост.

В одном справочнике есть "Надпись". ПриЗаписи другого справочника необходимо изменять Заголовок надписи.
Понимаете - надписи нет. она возникает только при открытии формы и исчезает после закрытия.
Естессна никак её вы не поменяете если в реквизит только не вынесете.
Решение: При открытии справочника выяснять какая должна быть надпись в зависимости от того что там в другом справочнике.
(например смотрим если у заказчика надо вывести надпись что у него есть договор - при открытии формы проверяем что договор не пустой и пишем соотв. текст)

авторСправочники.******.НайтиПоКоду (******)

Такого не должно быть в вашем коде по определению. связь должна осуществляться на основе реквизитов, ссылок или констант. понимаете. найти по коду - это незачёт.
...
Рейтинг: 0 / 0
Ввод на основании 1с 8.1
    #35831645
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паля
Понимаете - надписи нет. она возникает только при открытии формы и исчезает после закрытия.
Естессна никак её вы не поменяете если в реквизит только не вынесете.


За эту информацию огромное спасибо!!! Просто в 7.7 Тексту можно задать имя переменной, и в последующем обратиться к ней..


ПаляРешение: При открытии справочника выяснять какая должна быть надпись в зависимости от того что там в другом справочнике.

Если ЗначениеЗаполнено (Договор) = Истина тогда
ЭлементыФормы.Информация.Заголовок = ("Договор заключен. Номер договора= " + Договор.Код + " Дата заключения = " + Договор.ДатаЗаключения);
ЭлементыФормы.Информация.ЦветТекста = WebЦвета.КрасноФиолетовый;

Иначе
ЭлементыФормы.Информация.Заголовок = ("Договор не заключен");
ЭлементыФормы.Информация.ЦветТекста = WebЦвета.Серый;

КонецЕсли;

Это все понятно... Но возникает ситуация когда при записи "Договора", я устанавливаю значение Реквизиту Договор в справочнике "Заказчик".

Элемент = Справочники.Заказчики.НайтиПоКоду(Заказчик.Код).ПолучитьОбъект();
Элемент.Договор = Ссылка;
Элемент.Записать();


Но если этот справочник "Заказчик" открыт, то после установления значения Реквизиту "Договор", невозможно через форму перезаписать Справочник "Заказчики"..

Правильно ли я сделал что в процедуру добавил следующие строчки:

ФормаЗаказчика = Справочники.Заказчики.НайтиПоКоду(Заказчик.Код).ПолучитьФорму("ФормаЭлемента");

Если ФормаЗаказчика.Открыта() Тогда
ФормаЗаказчика.Закрыть();
КонецЕсли;
...
Рейтинг: 0 / 0
Ввод на основании 1с 8.1
    #35831662
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за помощь!!!
Я избавился от всех проблем!
Просто решил алгоритм по другому устроить!!
Я убрал реквизит «Договор» у справочника «Заказчики». В ФормуЭлемента Справочника «Заказчики» добавил табличное поле установил значение Договора связал по значению и мир прекрасен забудь про пятна…
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Ввод на основании 1с 8.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]