Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 23:37
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Уникальность реквизита в табличной части  (Прочитано 4439 раз)

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

Оффлайн _leon4uk_

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-04-18
  • Сайт: 
  • Профессия: Программист 8.1
Проверку уникальности для Наименования я реализовал таким вот способом:

  • Процедура ПередЗаписью(Отказ)
     Если ПустаяСтрока(Наименование) Тогда
     Сообщить("Не заполнено ключевое поле 'Наименование'.", СтатусСообщения.Важное);
    Отказ = Истина;
    Иначе ТекущийСправочник = Справочники.Модели_автомобилей;
    НайденнаяСсылка = ТекущийСправочник.НайтиПоНаименованию(Наименование, Истина);
    Если НайденнаяСсылка <> ТекущийСправочник.ПустаяСсылка() И НайденнаяСсылка.Код <> Код Тогда
    Сообщить("Справочник уже содержит запись с наименованием '" + НайденнаяСсылка + "'.", СтатусСообщения.Важное);
    Отказ = Истина;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры


 но ещё необходимо сделать уникальность реквизита "Модификация" в табличной части. как это реализовать?


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Приведено событие ПередЗаписью()... чего?
Документа, справочника?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн _leon4uk_

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-04-18
  • Сайт: 
  • Профессия: Программист 8.1
ПереЗаписью Справочника

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
как-то так...

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

а это в модуле менеджера справочника:
Функция СуществуетЭлементСТакимНаименованием(ИскомоеНаименование) Экспорт

             Запрос = Новый Запрос;
             Запрос.Текст =
                          "ВЫБРАТЬ
                          |           Вольеры.Ссылка
                          |ИЗ
                          |           Справочник.Вольеры КАК Вольеры
                          |ГДЕ
                          |           Вольеры.Наименование = &Наименование";

             Запрос.УстановитьПараметр("Наименование", ИскомоеНаименование);

             Выборка = Запрос.Выполнить().Выбрать();

             Возврат Выборка.Следующий();

КонецФункции // ЭлементаСТакимНаименованиемНеСуществует()
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Небольшая редакция второй функции:

Функция СуществуетЭлементСТакимНаименованием(ИскомоеНаименование) Экспорт

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   Вольеры.Ссылка
      |ИЗ
      |   Справочник.Вольеры КАК Вольеры
      |ГДЕ
      |   Вольеры.Наименование = &Наименование";

   Запрос.УстановитьПараметр("Наименование", ИскомоеНаименование);

   Возврат НЕ Запрос.Выполнить().Пустой();

КонецФункции // ЭлементаСТакимНаименованиемНеСуществует()

ЗЫ thanks Klyacksa ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Работа с табличной частью в документе. Или Работа с ШАПКОЙ документа

Автор gorbach178500Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3066
Последний ответ 30 Сен 2011, 20:01
от gorbach178500
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1095
Последний ответ 02 Дек 2016, 12:58
от Jalib
КД, Перенос Реквизита справочника (7.7) в ТЧ справочника 8.2.

Автор EvgenyРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3674
Последний ответ 17 Сен 2014, 13:39
от Kironten
УТ 11ред. Есть ли возможность указать серии в заказе покупателя?( в табл. части)

Автор tsaboevРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3100
Последний ответ 02 Июл 2012, 13:11
от totutotam
Применять ПСН относительно доходов, полученных от субаренды части нежилого помещения, нельзя

Автор newsРаздел Новости

Ответов: 0
Просмотров: 672
Последний ответ 23 Июн 2015, 14:25
от news

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
73 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 289
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal