Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Задать новый составной тип / 18 сообщений из 18, страница 1 из 1
06.10.2011, 15:59
    #37471167
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
Здравствуйте уважаемые форумчане!

Бьюсь с такой бедой уже 4ч, никак не могу победить, помогите пожалуйста!!!

1С 8.1 Есть внутрення обработка, там реквизит ТекДок - составного типа. В составе ссылка на 4 документа. На форме поле, в котором выбирается тип документа, далее сам документ, далее происходит его выгрузка в txt.

Хочу что сделать:
1. Из формы документа открываю обработку,
2. далее свойству формы обработки присваиваю тип документа
3. Очищаю Реквизит ТекДок (сбрасываю типы на которые он ссылается)
4. Задаю данному реквизиту ссылку на новый тип документа

В тестовом режиме написал код:
Код: plaintext
1.
2.
3.
4.
5.
Процедура ПриОткрытии()
	КаталогВыгрузки=ВосстановитьЗначение("КаталогВыгрузки");
	Метаданные.Обработки.ВыгрузкаИзБазы.Реквизиты.ТекДок.Тип.Типы().Очистить();
	   Метаданные.Обработки.ВыгрузкаИзБазы.Реквизиты.ТекДок.Тип.Типы().Добавить(Тип("ДокументСсылка.ПеремещениеТоваров"));
КонецПроцедуры


Выполняется нормально, без ошибок. Но ссылки старые не очищаются и новая не присваивается. Как победит данный трабл?
...
Рейтинг: 0 / 0
06.10.2011, 16:10
    #37471187
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
Taekwonder, все проще:
Обработка = Обработки.<ТвояОбработка>.Создать();
Обработка.СсылкаНаОбъект = Ссылка;
Форма = Обработка.ПолучитьФорму();
Форма.Открыть();
...
Рейтинг: 0 / 0
06.10.2011, 16:15
    #37471199
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZTaekwonder, все проще:
.......
Обработка.СсылкаНаОбъект = Ссылка;
...........


А что это такое, немогли бы пояснить?
...
Рейтинг: 0 / 0
06.10.2011, 16:22
    #37471221
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
форма.данные
...
Рейтинг: 0 / 0
06.10.2011, 16:28
    #37471238
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
TaekwonderDmitriyZTaekwonder, все проще:
.......
Обработка.СсылкаНаОбъект = Ссылка;
...........


А что это такое, немогли бы пояснить?
Это реквизит обработки составного типа. У вас он называется "ТекДок".
...
Рейтинг: 0 / 0
06.10.2011, 16:39
    #37471276
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

1. Обработка.СсылкаНаОбъект - Это Реквизит обработки с составным типом?
2. Ссылка - ??? Это что такое, извините за мою "дубовость". Это ПустаяСсылка на документ??? Я правильно понял?
...
Рейтинг: 0 / 0
06.10.2011, 16:43
    #37471292
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
TaekwonderDmitriyZ,

1. Обработка.СсылкаНаОбъект - Это Реквизит обработки с составным типом?
2. Ссылка - ??? Это что такое, извините за мою "дубовость". Это ПустаяСсылка на документ??? Я правильно понял?

Ну, если я правильно все понял, обработка открывается из формы документа. Код, который я привел, располагается в форме документа, Ссылка - ссылка на документ из которого открывается обработка. Или надо как то по другому?
...
Рейтинг: 0 / 0
06.10.2011, 16:50
    #37471314
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

Ну да, обработка открывается из формы списка.
Сейчас попробую
...
Рейтинг: 0 / 0
06.10.2011, 16:58
    #37471336
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
TaekwonderDmitriyZ,

Ну да, обработка открывается из формы списка.
Сейчас попробую Если из формы документа или из формы списка?
...
Рейтинг: 0 / 0
06.10.2011, 17:05
    #37471358
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

Блин что-то не работает.(((

Код в форме вызова:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Процедура ДействияФормыВыгрузка(Кнопка)
	// Вставить содержимое обработчика.
	// 1 . Выбрать файлы для выгрузки
	// 2 . Выгрузка файла
	Обр = Обработки.ВыгрузкаИзБазы.Создать();
	Обр.ТипДокументов = "Документ.ПриемВСервис";
	Обр.ТипДокументов = Документы.ПеремещениеТоваров.ПустаяСсылка();
	
	Обр.ПолучитьФорму().Открыть();
КонецПроцедуры

Код при открытии формы обработки:
Код: plaintext
1.
2.
3.
4.
Процедура ПриОткрытии()
	КаталогВыгрузки=ВосстановитьЗначение("КаталогВыгрузки");
	ОбработкаОбъект.ТекДок = ТипДокументов;
КонецПроцедуры

Форма открывается, на контроле висит кнопка с иконкой T, по которой выбирается вначале тип документа, потом непосредственно документ.
Мне надо ИМЕННО Тип документа задать программно, чтобы на контроле не нужно было вначале выбирать тип документов (он был заадан программно). То есть открывалась форма и там контролу сразу был задан тип допустим ДокументСсылка.ПеремещениеТоваров.

А сейчас тип на контроле задан ДокументСсылка.Заказ, ДокументСсылка.Продажи, ДокументСсылка.Реализация, .........
Так вот этот тип надо очистить и задать новый (программно)

PS надеюсь описал полно.
...
Рейтинг: 0 / 0
06.10.2011, 17:21
    #37471402
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
Taekwonder,
Процедура ДействияФормыВыгрузка(Кнопка)
// Вставить содержимое обработчика.
//1. Выбрать файлы для выгрузки
//2. Выгрузка файла
Обр = Обработки.ВыгрузкаИзБазы.Создать();
Обр.ТекДок = Документы.ПеремещениеТоваров.ПустаяСсылка();
Обр.ПолучитьФорму().Открыть();
КонецПроцедуры

Этого должно быть достаточно. Строку "ОбработкаОбъект.ТекДок = ТипДокументов;" - убрать!
...
Рейтинг: 0 / 0
06.10.2011, 17:26
    #37471420
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

Убрал, но новый составной тип не задаётся, что делать???
...
Рейтинг: 0 / 0
06.10.2011, 17:32
    #37471435
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
TaekwonderDmitriyZ,

Убрал, но новый составной тип не задаётся, что делать???
А первую процедуру исправили?
...
Рейтинг: 0 / 0
06.10.2011, 17:37
    #37471452
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

Да, но до исполнения строки:

Обр.ТекДок = Документы.ПеремещениеТоваров.ПустаяСсылка();

Обр.ТекДок - Значение - Пусто; Тип - Неопределено.

И после исполнения так же
...
Рейтинг: 0 / 0
06.10.2011, 17:47
    #37471485
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
Taekwonder, ТекДок - это реквизит обработки или поле ввода на форме? Если поле ввода, как реквизит обработки называется, с которым он связан?
...
Рейтинг: 0 / 0
06.10.2011, 17:51
    #37471496
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

И то и то. То есть, есть Реквизит обработки ТекДок с Типом Составной. И также Контрол на форме ТекДок с Данными ссылающимися на Реквизит ТекДок
...
Рейтинг: 0 / 0
06.10.2011, 17:54
    #37471502
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
Taekwonder, тогда должно работать. Идея - создать объект обработки реквизиту обработки присвоить значение Документы.ПеремещениеТоваров.ПустаяСсылка(); и открыть форму. Смотрите код, может там у вас при открытии реквизит очищается...
...
Рейтинг: 0 / 0
06.10.2011, 17:57
    #37471514
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать новый составной тип
DmitriyZ,

Код открытия формы я вам привел, там ничего не очищается. Чтобы он очищался - это как раз мне и нужно. Но он падло не очищается и хранит те значения которые ему заданы в конфигураторе.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Задать новый составной тип / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]