Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
1

Запретить редактировать реквизиты

14.03.2013, 12:48. Просмотров 5599. Ответов 40
Метки нет (Все метки)

Подскажите, есть два документа Документы.Форма1 и Документы.Подпись. В Документы.Форма1 есть реквизит Ответственный, в Документы.Подпись есть кнопка Подписать, мне нужно когда я нажал на кнопку Подписать в Документы.Форма1 реквизит Ответственный стал не доступен. Я попытался сделать так

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   Форма1.Ссылка,
|   Форма1.Ответственный
|ИЗ
|   Документ.Форма1 КАК Форма1
|ГДЕ
|   Форма1.Организация = &Организация
|   И Форма1.Квартал = &Квартал";
 
        Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
        Запрос.Параметры.Вставить("Квартал", ЭлементыФормы.Квартал.Значение);
        Результат = Запрос.Выполнить().Выбрать();   
    
        Пока Результат.Следующий() Цикл
            Результат.Ответственный.Доступность = Ложь;
       КонецЦикла;
Но выдает ошибку

{Документ.Подписаный.Форма.ФормаДокумента.Форма(20)}: Поле объекта не обнаружено (Доступность)
Результат.Ответственный.Доступность = Ложь;


Подскажите в чем дело.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 12:48
Ответы с готовыми решениями:

Дополнительные реквизиты
Приветствую! Такая проблема. В конфе БП 2.0 подключаю ВПФ Торг-12 к документу...

Справочники. Реквизиты. 1С 8.2
Задача: обработать запись в реквизиты справочника. Я создал следующие...

Периодические реквизиты
Для объекта "Номенклатура" (справочник) была установлена дата методом...

Реквизиты документа в 8.0
Доброе время суток, друзья. У меня такая проблема. Не сохраняются реквизиты...

Реквизиты формы
есть документ на нем расположен флажок с надписью. Смотрю все слоя формы ни на...

40
Fenomen
899 / 876 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
14.03.2013, 12:54 2
Результат - это объект ВыборкаИзРезультатаЗапроса. Причем здесь доступность?
Доступность это свойство элементов управления.
Должно быть:
1C
1
 ЭлементыФорым.Ответственный.Доступность = Ложь;
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
14.03.2013, 13:04  [ТС] 3
Подскажите как тогда нужно
0
duk337
2950 / 1762 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.03.2013, 13:43 4
Fenomen сразу и подсказал. Но у Вас алгоритм странный. Обычно флаг подписи - это флаг, логический реквизит документа. А Вы хотите доступность на форме, которая, например, и не открыта.
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
14.03.2013, 16:21  [ТС] 5
Подскажите как надо сделать
0
Fenomen
899 / 876 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
14.03.2013, 16:26 6
Так:
Цитата Сообщение от Fenomen Посмотреть сообщение
ЭлементыФорым.Ответственный.Доступность = Ложь;
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
14.03.2013, 17:07  [ТС] 7
как полностью
0
duk337
2950 / 1762 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.03.2013, 17:22 8
алгоритм в студию. А ещё можно глянуть на денежные доки, там акцепт (оплачено типа) флажком.
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
14.03.2013, 17:55  [ТС] 9
duk337, не понял
0
duk337
2950 / 1762 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.03.2013, 22:04 10
Цитата Сообщение от Ermak27 Посмотреть сообщение
Подскажите, есть два документа Документы.Форма1 и Документы.Подпись. В Документы.Форма1 есть реквизит Ответственный, в Документы.Подпись есть кнопка Подписать, мне нужно когда я нажал на кнопку Подписать в Документы.Форма1 реквизит Ответственный стал не доступен.
Пойдём медленно: 1. как связаны эти два дока в базе?
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
15.03.2013, 08:54  [ТС] 11
duk337, Если вы имеет это объединение то у них есть два одинаковый реквизита, это Квартал и Организация, по этим реквизитам я делал отбор в документе Форма1


1C
1
2
 Запрос.Параметры.Вставить("Организация",  ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал",          ЭлементыФормы.Квартал.Значение);

смысл такой, устанавливаю данные в документе подпись для организации и квартал, он ищет в документ Форма1 такие же данные когда находит документы с этими же данными то делает реквизит ответственный не доступным.
Больше эти документы не чем не объединяются.
0
duk337
2950 / 1762 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.03.2013, 09:33 12
2. При изменении подписи (Акцепт/Снятие акцепта) запрашиваем документы ГДЕ ссылка<>&ссылка И Квартал=&Квартал И Организация=&Организация. В Цикле
1C
1
док=ссылка.ПолучитьОбъет; док.Подписан=Истина;док.Записать();
Добавлено через 49 секунд
3. ПриОткрытии() - см. коммент Fenomena
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
15.03.2013, 11:14  [ТС] 13
duk337, ПриОткрытии() - см. коммент Fenomena
А как связать с документом Форма1, это условие надо писать когда Подпись будет истина, и как подпись может быть истина если это Кнопка
0
Xomych
665 / 588 / 89
Регистрация: 01.11.2012
Сообщений: 2,080
15.03.2013, 11:24 14
Цитата Сообщение от Ermak27 Посмотреть сообщение
duk337, ПриОткрытии() - см. коммент Fenomena
А как связать с документом Форма1, это условие надо писать когда Подпись будет истина, и как подпись может быть истина если это Кнопка
Заводишь реквизит типа Булево. например Подписано и по нажатию кнопки Подписано=Истина; И проверяй условие.
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
15.03.2013, 12:00  [ТС] 15
вот как проверить я это имею ввиду!!!
0
Xomych
665 / 588 / 89
Регистрация: 01.11.2012
Сообщений: 2,080
15.03.2013, 12:06 16
Цитата Сообщение от Ermak27 Посмотреть сообщение
вот как проверить я это имею ввиду!!!
Так вроде написали тебе всё уже тут. в Процедуре ПриОтрытии() документа Форма1. Делаешь там свой запрос, получаешь документ Подпись и там проверяешь реквизит Подписано на ложь или истину.
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
15.03.2013, 12:07  [ТС] 17
Я просто не понимаю где идет привязка между документами
0
Xomych
665 / 588 / 89
Регистрация: 01.11.2012
Сообщений: 2,080
15.03.2013, 12:08 18
Цитата Сообщение от Ermak27 Посмотреть сообщение
Я просто не понимаю где идет привязка между документами
Кликните здесь для просмотра всего текста
duk337, Если вы имеет это объединение то у них есть два одинаковый реквизита, это Квартал и Организация, по этим реквизитам я делал отбор в документе Форма1


Код 1C
1
2
Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал", ЭлементыФормы.Квартал.Значение);

смысл такой, устанавливаю данные в документе подпись для организации и квартал, он ищет в документ Форма1 такие же данные когда находит документы с этими же данными то делает реквизит ответственный не доступным.
Больше эти документы не чем не объединяются.

Ты же сам себе ответил, не?
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
15.03.2013, 12:56  [ТС] 19
Дай те по шаговой, а что то не много не понятно.
Вот я сделал процедуру для Документа Подпись

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Процедура Кнопка1Нажатие(Элемент)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   Форма1.Ссылка 
|ИЗ
|   Документ.Форма1 КАК Форма1
|ГДЕ
|   Форма1.Организация = &Организация
|   И Форма1.Квартал = &Квартал
|   И Форма1.Ссылка <> &Ссылка";
 
Запрос.Параметры.Вставить("Организация",  ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал",          ЭлементыФормы.Квартал.Значение);
Результат = Запрос.Выполнить().Выбрать();   
    
Пока Результат.Следующий() Цикл
    ДокументБлокировки = Результат.Ссылка.ПолучитьОбъект();
    ДокументБлокировки.РеквизитХраненияДоступности = Истина;
    ДокументБлокировки.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;   
КонецПроцедуры
РеквизитХраненияДоступности - это реквизит создал в документе Форма1, тип Булево.

Что теперь нужно? Где создать процедуру При Открытии
0
Xomych
665 / 588 / 89
Регистрация: 01.11.2012
Сообщений: 2,080
15.03.2013, 13:41 20
В документе Форма 1 процедура ПриОткрытии
1C
1
ЭлементыФорым.Ответственный.Доступность = РеквизитХраненияДоступности;
1
15.03.2013, 13:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 13:41

Реквизиты справочников
Доброго времени суток! Сталкнулась с такой вот задачкой. :( В реквизитах...

Невозможно добавить реквизиты!
Здравствуйте! У меня появился такой глюк в 8.2 версии: Поставил 10.77. Сначала...

Периодические Реквизиты Справочника
Нужно построить sql запрос (на сервере MS Sql), который выводит всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru