1C Управляемая форма

1. user1402183 27.07.20 15:08 Сейчас в теме
Есть справочник Договоры, в нём таблица значений с реквизитами: СтавкаУдаленно и СтавкаНаТерриторииЗаказчика. Нужно в документ, в котором ссылка на договор, получить значение ТЗ
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ITSun 27.07.20 15:31 Сейчас в теме
У Вас какая конфигурация? Вы в описании указали ут 10, а в задании пишете про управляемую форму.

Вам для УФ надо решить задачу в общем виде?
В документе любого вида, в котором есть реквизит "договор" получить любое значение "СтавкаУдаленно", "СтавкаНаТерриторииЗаказчика" и далее Вы сами разберетесь как использовать это значение.

Я верно "угадал мелодию"? :)
3. user1402183 27.07.20 15:37 Сейчас в теме
(2)Конфигурация "Управление торговлей", редакция 10.3 (10.3.11.4)
Смотрите, я в документе указываю договор и из этого конкретного договора должна передать значения Ставок в табличную часть, но они находятся в Таблице значений и это завело меня в тупик..
4. antz 27.07.20 16:00 Сейчас в теме
(3) Они находятся не в таблице значений, а в такой же табличной части.
5. user1402183 27.07.20 16:06 Сейчас в теме
(4) Через точку Объект.Договор - могу получить только реквизиты справочника, так не показывает таблицу значений
6. zarankony 306 27.07.20 16:07 Сейчас в теме
(5)Объект.Договор.Ставки.Выгрузить() и будет вам таблица значений
7. user1402183 27.07.20 16:11 Сейчас в теме
(6)Поле объекта не обнаружено (Ставки)
8. zarankony 306 27.07.20 16:12 Сейчас в теме
(7)Да я для примера, впишите что у вас там за Табличная Часть
9. user1402183 27.07.20 16:14 Сейчас в теме
(8) Сотрудник, Задача, СтавкаНаТерриторииЗаказчика/СтавкаУдаленно, Стоимость, СтоимостьУдаленно, Услуга
10. zarankony 306 27.07.20 16:15 Сейчас в теме
(9)Вместо Ставки впишите что у Вас там за табличная часть в договоре. Это все на сервере разумеется.
12. user1402183 27.07.20 16:17 Сейчас в теме
(10)Я так и сделала. Ошибка выше
14. user705522_constantin_h 35 27.07.20 16:20 Сейчас в теме
(12)Как ваша табличная часть называется с реквизитами: Сотрудник, Задача, СтавкаНаТерриторииЗаказчика/СтавкаУдаленно, Стоимость, СтоимостьУдаленно, Услуга.
15. user1402183 27.07.20 16:25 Сейчас в теме
17. user705522_constantin_h 35 27.07.20 16:29 Сейчас в теме
(15)
ТЗ = Объект.Договор.ТабличнаяЧасть1.Выгрузить()

Получаете ТЗ: Сотрудник, Задача, СтавкаНаТерриторииЗаказчика/СтавкаУдаленно, Стоимость, СтоимостьУдаленно, Услуга
19. user1402183 27.07.20 16:31 Сейчас в теме
(17) Подождите, Вы вероятно, не так меня поняли, Таблица значений "Ставки" и она находится в справочнике Договора. А "ТабличнаяЧасть1" находится в документе, и в неё мне нужно вставить значение из ТЗ
20. user705522_constantin_h 35 27.07.20 16:33 Сейчас в теме
(19)В справочнике Договора табличная часть с реквизитами СтавкаУдаленно и СтавкаНаТерриторииЗаказчика как называется?
21. user705522_constantin_h 35 27.07.20 16:35 Сейчас в теме
(19)
Таблица значений "Ставки" и она находится в справочнике Договора

Тогда должно работать так:
ТЗ =Объект.Договор.Ставки.Выгрузить();
24. user1402183 27.07.20 17:01 Сейчас в теме
(21)Пишет Поле объекта Ставки не обнаружено..
25. user705522_constantin_h 35 27.07.20 17:29 Сейчас в теме
(24)Покажите скриншот справочника Договоры.
26. user1402183 27.07.20 17:32 Сейчас в теме
(25)
Прикрепленные файлы:
27. user705522_constantin_h 35 27.07.20 17:39 Сейчас в теме
(26)Я вас просил скриншот справочника Договоры, а вы документ показали.
11. user1402183 27.07.20 16:16 Сейчас в теме
(8)Табличная часть заполняется по кнопке, я написала запрос , все данные подставляются, а ставку, не понимаю как вытащить. Пыталась открыть эту форму справочника, чтобы хоть по нажатию перенести элемент, но выдаёт ошибку, да и это не совсем верно, так как ТЧ должна автоматически заполняться по кнопке
13. zarankony 306 27.07.20 16:19 Сейчас в теме
(12) Покажите что за запрос и структуру реквизитов и ТЧ договора.
18. user1402183 27.07.20 16:29 Сейчас в теме
(13)Таблица значений Ставки, в ней два числовых реквизиты ставок, единица измерения (ссылочный тип, ссылка на справочник ЕдиницыИзмерения) и "Удаленно" тип булево
16. user1402183 27.07.20 16:26 Сейчас в теме
&НаСервере
Процедура ЗаполнитьНаСервере()

	Объект.ТабличнаяЧасть1.Очистить();
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	куЗакрытыеЗадачиПоПроектам.Задача
	               |ПОМЕСТИТЬ ВТЗакрыто
	               |ИЗ
	               |	РегистрНакопления.куЗакрытыеЗадачиПоПроектам КАК куЗакрытыеЗадачиПоПроектам
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	ВыполненныеРаботы.Сотрудник КАК Сотрудник,
	               |	ВыполненныеРаботы.Задача КАК Задача,
	               |	ВыполненныеРаботы.Количество,
	               |	ВыполненныеРаботы.Удаленно,
	               |	ВыполненныеРаботы.Стоимость / ВыполненныеРаботы.Количество КАК Ставка,
	               |	ВыполненныеРаботы.Задача.Обращение КАК ЗадачаОбращение,
	               |	ВыполненныеРаботы.Задача.Услуга КАК ЗадачаУслуга,
	               |	куСпискиУслугПоДоговорамСрезПоследних.НормативноеВремяИсполнения,
	               |	куСпискиУслугПоДоговорамСрезПоследних.НормативноеВремяИсполнения * ВыполненныеРаботы.Стоимость / ВыполненныеРаботы.Количество КАК Стоимость,
	               |	куСпискиУслугПоДоговорамСрезПоследних.Услуга
	               |ИЗ
	               |	РегистрНакопления.ВыполненныеРаботы КАК ВыполненныеРаботы
	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.куСпискиУслугПоДоговорам.СрезПоследних(
	               |				,
	               |				Договор = &ДоговорРС
	               |					И Контрагент = &Контрагент
	               |					И Организация = &Организация) КАК куСпискиУслугПоДоговорамСрезПоследних
	               |		ПО ВыполненныеРаботы.Задача.Услуга = куСпискиУслугПоДоговорамСрезПоследних.Услуга,
	               |	ВТЗакрыто КАК ВТЗакрыто
	               |ГДЕ
	               |	ВыполненныеРаботы.Период МЕЖДУ &Период1 И &Период2
	               |	И ВыполненныеРаботы.Проект = &Проект
	               |	И НЕ ВыполненныеРаботы.Задача В
	               |				(ВЫБРАТЬ
	               |					ВТЗакрыто.Задача
	               |				ИЗ
	               |					ВТЗакрыто)
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ВыполненныеРаботы.Сотрудник,
	               |	ВыполненныеРаботы.Задача,
	               |	куСпискиУслугПоДоговорамСрезПоследних.Услуга,
	               |	ВыполненныеРаботы.Количество,
	               |	ВыполненныеРаботы.Удаленно,
	               |	ВыполненныеРаботы.Задача.Обращение,
	               |	ВыполненныеРаботы.Задача.Услуга,
	               |	куСпискиУслугПоДоговорамСрезПоследних.НормативноеВремяИсполнения,
	               |	ВыполненныеРаботы.Стоимость / ВыполненныеРаботы.Количество,
	               |	куСпискиУслугПоДоговорамСрезПоследних.НормативноеВремяИсполнения * ВыполненныеРаботы.Стоимость / ВыполненныеРаботы.Количество";
	Запрос.УстановитьПараметр("Период1",Объект.НачалоПериода);
	Запрос.УстановитьПараметр("Период2",Объект.ОкончаниеПериода);
	Запрос.УстановитьПараметр("Проект",Объект.Проект);
	Запрос.УстановитьПараметр("ДоговорРС",Объект.Договор);
	Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
	Запрос.УстановитьПараметр("Организация",Объект.Организация);
Показать
22. zarankony 306 27.07.20 16:37 Сейчас в теме
(16)Кажется понял, Вам надо Ваши ставки добавить в запрос и к ним присоединиться чтобы получить значение для заполнения ТЧ, верно?
В начале запроса:
Выбрать
Ставки.ЕдиницыИзмерения,
Ставки.Удаленно,
Ставки.ЧисловоеЗначение //(или как оно у вас называется)
Поместить Ставки
Из &Ставки КАК Ставки
;

//////
Показать

В последнем пакете присоединиться к этой временной таблице и рассчитать ставку.
После текста Запроса
Запрос.установитьпараметр("Ставки",Ставки);
23. user1402183 27.07.20 16:50 Сейчас в теме
(22)Спасибо, буду пробовать!
28. AlexandrSmith 69 29.07.20 14:20 Сейчас в теме
Если я вас правильно понимаю, необходимо ТЗ передать в переменную. Я очень часто использовал для таких случае массивы, но рекомендовать не буду вам подобный метод, так как его не все одобряют. Если к вам в базу не лезут все кому не лень, с проверками кода на адекватность и время поджимает, что мое решение очень очевидное и простое. Но кому как конечно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот