Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> форма документа          
DAS_Alex Подменю пользователя
сообщение 05.04.11, 9:47
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день. На форме документа А есть кнопка с помощью которой открывается вспомогательный документ Б. Можно ли при закрытии документа Б передать значение в документ А?

endru Подменю пользователя
сообщение 05.04.11, 9:56
Сообщение #2

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Процедура ОбработкаПодбора(<?>,)
КонецПроцедуры
Синтаксис:
ОбработкаПодбора(<Элемент>,<КонтФормы>)
Назначение:
Предопределенная процедура обработки подбора значения при нажатия кнопки Выбрать в Форме Подбора значения.


смотриТЕ в эту сторону
Причина редактирования: Предупреждение за ''Ты''! http://pro1c.org.ua/index.php?showtopic=2284

DAS_Alex Подменю пользователя
сообщение 05.04.11, 10:57
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Еще варианты есть?

Vofka Подменю пользователя
сообщение 05.04.11, 11:32
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Дынный чем не подходит?

shurik_shurik Подменю пользователя
сообщение 05.04.11, 14:20
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 124
Из: Полтавская обл.
Спасибо сказали: 72 раз
Рейтинг: 0

Если документ Б открывается отдельно то можно еще после закрытия документа Б, просто прочитать данные из базы...
(это как ище один вариант) и вроде как бы можно ище через контекст формы (Форма.параметр), но точно не знаю, подойдет ли к вашей задачи...

mister-x Подменю пользователя
сообщение 05.04.11, 15:44
Сообщение #6

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Ще можна подивитись в напрямку
ОткрытьФорму, ОткрытьФормуМодально


У відкриту форму із вищевказаних процедур можна передати переметр, який у процедурі
ПриОткрытии
можна прочитати:
_парам = Форма.Параметр
. Це може бути як одна змінна так і таблиця значень, і список значень.

переметр = параметр smile.gif

Спасибо сказали: DAS_Alex,

DAS_Alex Подменю пользователя
сообщение 06.04.11, 8:53
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Опишу ситуацию подробней.

Для каждой строки документа А создается, при необходимости, документ Б. Необходимо ПриЗакрытии документа Б в строке табл. части документа А изменить реквизит.

Я что-то не пойму, как это можно сделать с помощью ОбработкаПодбора(<?>,)?

Ardi Подменю пользователя
сообщение 06.04.11, 9:49
Сообщение #8

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

DAS_Alex
Завести глобальную переменную которую считывать после закрытия формы Б.
Форму Б открывать модально.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Спасибо сказали: DAS_Alex,

5_kopeek Подменю пользователя
сообщение 06.04.11, 12:16
Сообщение #9

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Открывайте Б через ОткрытьФорму() и, в качестве параметра, передавайте в Б контекст документа А и номер нужной строки, например. Тогда в документе Б в ПриЗаписи() изменяйте реквизит в А.

Спасибо сказали: DAS_Alex,

DAS_Alex Подменю пользователя
сообщение 07.04.11, 15:11
Сообщение #10

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(5_kopeek @ 06.04.11, 13:16) *
Открывайте Б через ОткрытьФорму() и, в качестве параметра, передавайте в Б контекст документа А и номер нужной строки, например. Тогда в документе Б в ПриЗаписи() изменяйте реквизит в А.


Делаю так:

В документе А

Парам = СоздатьОбъект("СписокЗначений");
Парам.ДобавитьЗначение(Контекст,"Конт");  
Парам.ДобавитьЗначение(номерстроки,"Нстр");  
ОткрытьФормуМодально(ПодчДок.ТекущийДокумент(),Парам,);


Подскажите как в ПриЗаписи() документа Б изменить реквизит табл. части в А?

5_kopeek Подменю пользователя
сообщение 08.04.11, 12:30
Сообщение #11

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

    Парам=Форма.Параметр;  
    Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначений" Тогда
        Конт=Парам.Получить("Конт");  
        НСтр=Парам.Получить("НСтр");
        Попытка
            Если Конт.ПолучитьСтрокуПоНомеру(НСтр)=1 Тогда
                Конт.УстановитьАтрибут("Кво",10000);
                //Конт.УстановитьАтрибут("НаименованиеНужногоРеквизита",ЗначениеНужногоРеквизита);
            КонецЕсли; // Конт.ПолучитьСтрокуПоНомеру(НСтр)=1
        Исключение
            Сообщить("Не получилось! "+ОписаниеОшибки());
        КонецПопытки
    КонецЕсли; // ТипЗначенияСтр(Форма.Параметр)="СписокЗначений"

Спасибо сказали: DAS_Alex,

5_kopeek Подменю пользователя
сообщение 08.04.11, 12:32
Сообщение #12

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

То есть:
               Конт.УстановитьАтрибут("НаименованиеНужногоРеквизита",ЗначениеНужногоРеквизита);

, где НаименованиеНужногоРеквизита и ЗначениеНужногоРеквизита заменить нужнім smile.gif

Спасибо сказали: DAS_Alex,

DAS_Alex Подменю пользователя
сообщение 08.04.11, 12:40
Сообщение #13

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Сделал так, но немного не работает.

В документе А -

Парам = СоздатьОбъект("СписокЗначений");
Парам.ДобавитьЗначение(Контекст,"Конт");  
ОткрытьФорму("Документ.отМСК",Парам,);

В документе Б

Процедура ПриЗаписи()  
    Если ТипЗначения(Форма.Параметр) = 100 Тогда
    формаМСК = Форма.Параметр.Получить("Конт");
    формаМСК.НомВспомогательного=номердок;  
КонецЕсли;

По завершении процедуры ПриЗаписи() реквизит НомВспомогательного остается пустым.
Только при повторном переходе на строку документа А для которой создавался документ Б заполняется реквизит НомВспомогательного.
Такое ощущения, что нужно добавить форма.обновить(), но нет.

Подскажите, что делаю не так?
Причина редактирования: Когда Вы научитесь выделять код, а?

5_kopeek Подменю пользователя
сообщение 08.04.11, 14:02
Сообщение #14

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

DAS_Alex, я ж Вам написала, пользуйтесь методом УстановитьАтрибут. И в моем варианте можно обойтись без проверки на открытость формы, чтобы исключить ошибку при групповой перезаписи, так как в таком случае Форма.Параметр не будет иметь тип СписокЗначений.

Спасибо сказали: DAS_Alex,

DAS_Alex Подменю пользователя
сообщение 08.04.11, 14:20
Сообщение #15

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Все. Получилось. Спасибо всем.

Добавил строчку:

формаМСК.форма.обновить()

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.05.24, 10:35
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!