Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 23:15

Моя Конфигурация

Автор CosmicBoy, 10 фев 2013, 21:26

0 Пользователей и 1 гость просматривают эту тему.

CosmicBoy

sadovod,
А, ясно.
А для граф с датами, и фактическими значениями как будет выглядеть обращение к объекту без значения?

sadovod

Если НЕ ЗначениеЗаполнено(даты, значения и т.д.) Тогда

CosmicBoy

sadovod Интуитивно кажется догадаться можно, а не.
А вообще в каком курсе широко раскрывается синтаксис встроенного языка?
Или правильней сказать где такая основа рассматривается?

sadovod


CosmicBoy

Цитата: sadovod от 12 фев 2013, 20:37
>> т.е. некое значение представленное ссылкой на данную строку в справочнике?
Именно так.

>> А в случае если нужно при пустом значении Объект.тип..
Если Объект.Тип = Справочники.типИзвещения.ПустаяСсылка() Тогда
Добавлено: 12 фев 2013, 20:49



я так понимаю если этот запрос будет не на сервере, а в клиенте через процедуру то не чего не получится?
Просто попробовал не получилось, написал функцию с запросом получилось.

CosmicBoy

sadovod,
Спасибо B)

Вот снова на этом сел.
Решил на Вашем примере поиска по наиминованию, реализовать порверку на уникальность которая инф декоративной-надписью... но дошел мыслью только до этого...
Переменную Текущая надпись я так понимаю в функции не видна? Что можно сделать...
Вобщем как организовать поиск по справочнику с данными получаемыми в клиенте... если я правильно все это понимаю :nhsrm:
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
Элементы.ЗаписьСДаннымНомером.Видимость = "ложь";
ТекущееНаименование = Объект.Наименование;
НайтиНаименование = ПоискНаименования ();
Если Объект.Наименование = НайтиНаименование тогда;
Элементы.ЗаписьСДаннымНомером.Видимость = "истина";
КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПоискНаименования()
    НайтиНаименование = Справочники.Извещение.НайтиПоНаименованию(ТекущееНаименование);
    Возврат НайтиНаименование;
КонецФункции

Добавлено: 13 фев 2013, 22:47


Не текущая надпись, ТекущееНаименование

sadovod

Тут много ошибок... Нужны пояснения.
Вы хотите найти, есть ли в Справочнике "Извещение" строки с таким же наименованием?
(кстати, в терминах 1С это правильно называть - элементы справочника, а в обычных базах данных - записи)



CosmicBoy

sadovod
Именно, я создаю новый элемент справочника и хочу таком образом проверить есть ли такой введенный ранее в справочник
Добавлено: 14 фев 2013, 21:26


То что одинаковая переменная в процедуре и функции я так понимаю это не страшно... страшно что то другое... :dfbsdfbsdf:

sadovod

Тогда, лучше вот что... Ваш код править не будем (хотя можно и его довести до работоспособности), а напишем-ка всё по-другому :)
Самый оптимальный вариант (лучше сразу привыкать к правильным решениям) заключается в проверке корректности введённых на форме данных
в специальном обработчике события формы, а именно ПередЗаписьюНаСервере(). Почему так, тема отдельного разговора... Итак:
В редакторе формы правой кн.мышки на корневом элементе "Форма" вызываем контекстное меню и выбираем События -> ПередЗаписьюНаСервере,
попадаем в нужное место кода. Там пишем
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ЕстьТакойЭлемент = НЕ Справочники.Извещение.НайтиПоНаименованию(ТекущийОбъект.Наименование).Пустая();
    Если ЕстьТакойЭлемент Тогда
        Сообщить("Элемент с таким наименование уже есть!!!");
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры

CosmicBoy

Суппер круто, хотя переменная ЕстьТакойЭлемент не понятна.... зачем там "Не"...
Вот только проблема, у меня в справочнике не обладают уникальностью наименования, т.е. с одним наименованием может быть несколько строк но с разными реквизитами.
По сути надо найти не только по наименованию но и по реквизиту.
Будет так искать если задать двойное условие, и создать помимо переменной ЕстьТакойЭлемент еще и ЕстьТакоеЗначениеРеквизита? 

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск