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

Автор Тема: Помогите с кодом (проверка при записи)  (Прочитано 126 раз)

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

Оффлайн Алексей_1985_06

  • ***
  • Сообщений: 148
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2019-09-01
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет! Подскажите пжл, при записи элемента справочника, происходит проверка чтоб нельзя было записать две должности с соответствующей отметкой командира одного подразделения, и все вроде бы работает.... Но только в данном случае, при изменении любого реквизита, например "Классификации должности" и последующий записи элемента - инициируется эта самая проверка и соответственно записать элемент нельзя, что крайне не удобно.... Подскажите как можно оптимизировать это? :dfbsdfbsdf::dfbsdfbsdf::dfbsdfbsdf:


Процедура ПередЗаписью(Отказ)

Если КомандирСтруктурногоПодразделения  Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ШтатныеДолжности.Владелец КАК Подразделение,
| ШтатныеДолжности.Ссылка КАК Должность,
| ШтатныеДолжности.КомандирСтруктурногоПодразделения КАК Командир
|ИЗ
| Справочник.ШтатныеДолжности КАК ШтатныеДолжности
|ГДЕ
| ШтатныеДолжности.КомандирСтруктурногоПодразделения = ИСТИНА
| И ШтатныеДолжности.Владелец = &Подразделение";
Запрос.УстановитьПараметр("Подразделение",Владелец);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если НЕ Результат.Пустой() Тогда
Выборка.Следующий();

Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = "КомандирСтруктурногоПодразделения";
Сообщение.УстановитьДанные(ЭтотОбъект); 
Сообщение.Текст = "Руководитель уже определен...";
Сообщение.Сообщить();
Отказ = Истина; // отказ от записи
    КонецЕсли;
КонецЕсли;
КонецПроцедуры



Оффлайн LexaK

  • *****
  • Сообщений: 2369
  • РЕПУТАЦИЯ: 706
  • КПД: 30%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
попробуйте так
Процедура ПередЗаписью(Отказ)
   
    Если КомандирСтруктурногоПодразделения  Тогда
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
        |    ШтатныеДолжности.Владелец КАК Подразделение,
        |    ШтатныеДолжности.Ссылка КАК Должность,
        |    ШтатныеДолжности.КомандирСтруктурногоПодразделения КАК Командир
        |ИЗ
        |    Справочник.ШтатныеДолжности КАК ШтатныеДолжности
        |ГДЕ
        |    ШтатныеДолжности.КомандирСтруктурногоПодразделения = ИСТИНА
        |    И ШтатныеДолжности.Владелец = &Подразделение
        |    И ШтатныеДолжности.Ссылка <> &Ссылка
|";
        Запрос.УстановитьПараметр("Подразделение",Владелец);
        Запрос.УстановитьПараметр("Ссылка",Ссылка);

        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Следующий() Тогда
Сообщить("Руководитель уже определен. Должность: " + Выборка.Должность);
    Отказ = Истина; // отказ от записи
    КонецЕсли;

КонецПроцедуры
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Алексей_1985_06

  • ***
  • Сообщений: 148
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2019-09-01
  • Сайт: 
  • Профессия: Ученик 1С
попробуйте так
Процедура ПередЗаписью(Отказ)
   
    Если КомандирСтруктурногоПодразделения  Тогда
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
        |    ШтатныеДолжности.Владелец КАК Подразделение,
        |    ШтатныеДолжности.Ссылка КАК Должность,
        |    ШтатныеДолжности.КомандирСтруктурногоПодразделения КАК Командир
        |ИЗ
        |    Справочник.ШтатныеДолжности КАК ШтатныеДолжности
        |ГДЕ
        |    ШтатныеДолжности.КомандирСтруктурногоПодразделения = ИСТИНА
        |    И ШтатныеДолжности.Владелец = &Подразделение
        |    И ШтатныеДолжности.Ссылка <> &Ссылка
|";
        Запрос.УстановитьПараметр("Подразделение",Владелец);
        Запрос.УстановитьПараметр("Ссылка",Ссылка);

        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Следующий() Тогда
Сообщить("Руководитель уже определен. Должность: " + Выборка.Должность);
    Отказ = Истина; // отказ от записи
    КонецЕсли;

КонецПроцедуры

LexaK Огромное Вам спасибо за помощь :btbzdb::btbzdb::btbzdb:! Все ок !!!


Теги:
 

Помогите выразить код Объект.Наименование = Объект.Подразделение + " " + Объект.Должность + " " + Объект.ФизическоеЛицо через строки.

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

Ответов: 3
Просмотров: 1298
Последний ответ 05 Мар 2019, 19:28
от Ledgik
Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

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

Ответов: 1
Просмотров: 6964
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите правильно настроить справочник "Единицы измерения" и "Номенклатура"

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

Ответов: 1
Просмотров: 1601
Последний ответ 23 Янв 2019, 07:21
от Геннадий ОбьГЭС
На фото демонстрируется личная карточка сотрудника, но во столбце "ЗА ЯКИЙ ПЕРІОД " не показывает ничего, как это можно решить, помогите пожалуйста

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

Ответов: 9
Просмотров: 1759
Последний ответ 26 Июл 2018, 17:44
от alex0402
Помогите подобрать Back-office и Front-office

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

Ответов: 1
Просмотров: 7340
Последний ответ 07 Сен 2010, 12:01
от mohock

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

LexaK
49 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
28 Сообщений
prolog
25 Сообщений
antoneus antoneus
25 Сообщений
Алексей_1985_06
25 Сообщений
vadim10121995
24 Сообщений
DmitriyF DmitriyF
16 Сообщений
alexandr_ll
16 Сообщений
Сергей Поляков Сергей Поляков
6 Сообщений
altair2019
6 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal