powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Задать новый составной тип
18 сообщений из 18, страница 1 из 1
Задать новый составной тип
    #37471167
Taekwonder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте уважаемые форумчане!

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

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

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

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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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