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

Хранилище

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

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



> контекст формы для разных пользователей          
DAS_Alex Подменю пользователя
сообщение 10.06.11, 14:43
Сообщение #1

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

Интересует как ведет себя 1С в следующем случае. На форме документа А есть кнопка с помощью которой открывается вспомогательный документ Б.
код такой:

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


В ПриЗаписи() вспомогательного

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


На двух разных компах, в одно время, открывают документ А и вызывают вспомогательный документ Б, передается контекст формы документа одного вида
разных по номеру. Как в ПриЗаписи() вспомогательного документа 1С различит контекст формы документа А?

igmig65 Подменю пользователя
сообщение 10.06.11, 15:50
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5

Используйте Транзакцию

-=VJ=- Подменю пользователя
сообщение 10.06.11, 17:11
Сообщение #3

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

Цитата(DAS_Alex @ 10.06.11, 14:43) *
На двух разных компах, в одно время, открывают документ А и вызывают вспомогательный документ Б, передается контекст формы документа одного вида
разных по номеру. Как в ПриЗаписи() вспомогательного документа 1С различит контекст формы документа А?


Не понимаю суть вопроса. Это же разные объекты, зачем 1С различать, если она об этом и так знает?


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

awp Подменю пользователя
сообщение 10.06.11, 19:30
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 522
Спасибо сказали: 70 раз
Рейтинг: 0

Цитата(DAS_Alex @ 10.06.11, 15:43) *
Интересует как ведет себя 1С в следующем случае. На форме документа А есть кнопка с помощью которой открывается вспомогательный документ Б.
код такой:

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


В ПриЗаписи() вспомогательного

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


На двух разных компах, в одно время, открывают документ А и вызывают вспомогательный документ Б, передается контекст формы документа одного вида
разных по номеру. Как в ПриЗаписи() вспомогательного документа 1С различит контекст формы документа А?


Никак не различит. Если вспомогательный документ будет разный то каждый из них будет видеть свой номер. При записи главного документа - будет блокировка.


Signature
Бухгалтер - это не профессия! Это диагноз!

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

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

Цитата
Не понимаю суть вопроса. Это же разные объекты, зачем 1С различать, если она об этом и так знает?


Бывают случаи, когда номер вспомогательного записывается не в тот документ А из которого его создавали 02000000.gif 09000000.gif

Сообщение отредактировал DAS_Alex - 11.06.11, 8:29

-=VJ=- Подменю пользователя
сообщение 11.06.11, 12:29
Сообщение #6

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

Цитата(DAS_Alex @ 11.06.11, 8:27) *
Бывают случаи, когда номер вспомогательного записывается не в тот документ А из которого его создавали 02000000.gif 09000000.gif


Так не бывает. Параметр передан из определенного контекста и возвращается обратно туда же.
Если что-то такое и происходит, то причина должна быть в чем-то другом.


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

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

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 522
Спасибо сказали: 70 раз
Рейтинг: 0

Цитата(DAS_Alex @ 10.06.11, 15:43) *
На форме документа А есть кнопка с помощью которой открывается вспомогательный документ Б.
На двух разных компах, в одно время, открывают документ А



Цитата(DAS_Alex @ 11.06.11, 9:27) *
Бывают случаи, когда номер вспомогательного записывается не в тот документ А из которого его создавали 02000000.gif 09000000.gif



Что-то не вяжется.


Signature
Бухгалтер - это не профессия! Это диагноз!

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

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

Цитата
Так не бывает. Параметр передан из определенного контекста и возвращается обратно туда же.
Если что-то такое и происходит, то причина должна быть в чем-то другом.

Так бывает, а почему хотелось бы узнать. Может кто-то знает, что там у 1С внутри делается? В каких ситуациях такое может произойти?

-=VJ=- Подменю пользователя
сообщение 13.06.11, 19:28
Сообщение #9

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

Цитата(DAS_Alex @ 13.06.11, 16:57) *
Так бывает, а почему хотелось бы узнать. Может кто-то знает, что там у 1С внутри делается? В каких ситуациях такое может произойти?


Ни в каких.
Можно ещё попробовать поспорить, можно поискать вместо этого реальную причину.


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

5_kopeek Подменю пользователя
сообщение 13.06.11, 21:49
Сообщение #10

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

Если у Вас возникают сомнения, не путаются ли между собой значения параметров, передаваемых из разных основных документов, можете получить значение атрибута Параметр в ПриОткрытии() вспомогательного документа. И в дальнейшем работать с локальной переменной, дабы избежать использования атрибута Форма.Параметр после открытия второго основного документа:
Перем СписокПараметров;

Процедура ПриОткрытии()
    ...
    СписокПараметров=Форма.Параметр;
    ...
КонецПроцедуры


ПриЗаписи()
    ...
    ФормаА=СписокПараметров.Получить("Конт");
    ...
    ФормаА.УстановитьАтрибут("Реквизит",НомерДок);
    ...
КонецПроцедуры()


Или значение контекста основного документа получить еще в ПриОткрытии() и работать в дальнейшем с уже полученным контекстом:

Перем ФормаА;

Процедура ПриОткрытии()
    СписокПараметров=Форма.Параметр;
    ФормаА=СписокПараметров.Получить("Конт");
    ...

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

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


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

 

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