Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/88: Рейтинг темы: голосов - 88, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 24
1

С формы списка документа изменить данные самого документа 1С 8.2 Управляемое приложение

04.06.2016, 10:07. Показов 16617. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть документ ЗаказКлиента с формой документа и с формой списка (формы управляемые). Есть у документа реквизит Выполнен тип Булево, и надо с помощью кнопки ЗаказВыполнен на форме списка ставить галочку (Истина) у реквизита Выполнен, потом записать документ.

Помогите решить эту проблему пожалуйста кто знает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2016, 10:07
Ответы с готовыми решениями:

Как изменить текст надписи формы документа при записи документа
Здравствуйте уважаемые, у меня простой вопрос - как мне при записи документа изменить надпись на...

Изменить значение реквизитов ТЧ документа по событию проведения другого документа
Здравствуйте.В собственной конфе 1С 8.3 есть документ "ОбъектныйГрафик" с ТЧ "Задания". Также есть...

Как добраться до документа через форму списка документа?
есть форма списка документа, вставляю обработчик события ПередУдалением. Нужно перед удалением...

Получить данные печатающегося документа - имя документа и число страниц
Нужно дописать дополнение, схема состоит в чём: открываем простой word документ и ставим на...

8
858 / 657 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
04.06.2016, 13:23 2
Получаешь текущую строку списка, Ссылка это тот документ, который надо изменить. Получаешь объект по Ссылке, устанавливаешь у Объекта нужный реквизит, Записываешь. профит
1
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 24
04.06.2016, 13:30  [ТС] 3
Xomych,
1C
1
2
3
4
5
6
&НаКлиенте
Процедура ЗаказВыполнен(Команда)
    ТекДок = Документы.ЗаказКлиента.ПолучитьСсылку(Ссылка);
    ТекСтрока=Список.ТекДок.ТекущиеДанные;
    ....
КонецПроцедуры
Как-то так начинается? Синтаксис может неправильный и дальше не знаю как написать
0
858 / 657 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
04.06.2016, 13:42 4
Лучший ответ Сообщение было отмечено rfnfof как решение

Решение

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&НаСервереБезКонтекста
Процедура ВыполненНаСервере(Ссылка)
    Об=Ссылка.ПолучитьОбъект();
    Об.Выполнен=Истина;
    Об.Записать();
КонецПроцедуры
 
&НаКлиенте
Процедура ЗаказВыполнен(Команда)
    Стр=Элементы.Список.ТекущиеДанные;
    if НЕ Стр.Ссылка.Пустая() then
        ВыполненНаСервере(Стр.Ссылка);
        Элементы.Список.Обновить();
    endif;  
КонецПроцедуры
1
162 / 158 / 62
Регистрация: 28.09.2013
Сообщений: 293
04.06.2016, 13:42 5
Лучший ответ Сообщение было отмечено rfnfof как решение

Решение

Например так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
&НаСервереБезКонтекста
процедура УстановитьВыполнениеСервер(ссылка)
    докОбъект = ссылка.ПолучитьОбъект();
        
    докОбъект.Выполнен = истина;
        
    попытка
        докОбъект.Записать();
    исключение
        Сообщить("Что-то не так при записи!");   
    конецпопытки;   
конецпроцедуры
 
&НаКлиенте
Процедура Команда1(Команда)
    текДанныеСписок = Элементы.Список.ТекущиеДанные;
    
    если текДанныеСписок <> Неопределено тогда
        УстановитьВыполнениеСервер(текДанныеСписок.Ссылка)   
    конецесли;
КонецПроцедуры
И ещё: необходимо, чтобы поле Ссылка из списка присутствовало в самом списке на форме либо, при отсутствии, напротив поля Ссылка в списке должна стоять галочка "Использовать всегда"

Упс, опередили =)
1
858 / 657 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
04.06.2016, 13:44 6
Да, кстати правильно проверять на неопределено как уYanush
1
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 24
04.06.2016, 14:03  [ТС] 7
Спасибо большое, сделал, всё работает, только форму надо обновить и галка появляется, а программно обновить можно?, а то при получении формы пишет что интерактивные функции не доступны
0
858 / 657 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
05.06.2016, 11:05 8
Лучший ответ Сообщение было отмечено rfnfof как решение

Решение

1C
1
Элементы.Список.Обновить();
Так вот же я написал
1
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 24
05.06.2016, 12:41  [ТС] 9
Xomych, Спасибо, я уже сделал
0
05.06.2016, 12:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2016, 12:41
Помогаю со студенческими работами здесь

Из одного документа получить данные табличной части другого документа
Добрый день. Сразу оговорюсь 1С только начал изучать, поэтому просьба помидорами не закидывать. ...

Постраничная разбивка документа Word. Сохранение под разными именами.(данные из документа)
ТЗ: Сделать так чтобы данные из Excel перетягивались в Word, При этом файл ворд разбивался на 5...

Изменить данные документа через форму
Здравствуйте. Хочу изменить данные документа через форму. Делаю это потомучто при изменении...

На оборотной стороне документа word в правой части документа, текст съезжает за границу документа
Добрый вечер. Есть код, который формирует документ из шаблона. И все вроде бы, но происходит что...

Проведение документа из модуля формы документа
Столкнулся с такой проблемой. Нужно провести документ из формы документа. Побывал на многих сайтах...

Поиск в табличной части документа из формы списка
Версия 8.1. В 1С я только начинаю, путевой литературы мало, так-что вопрос скорее всего вам...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru