На основании разных документов.

1. Intercititude 10.12.19 09:24 Сейчас в теме
Необходимо реализовать с помощью обработки следующее.

На форме пользователь при нажатии кнопки "Заполнить" выбирает документ "Возврат" ( несколько штук ).
Далее на основании этих документов заполняется табличная часть по выделенным документам - Номенклатура,количество,партии и т.д.

Подскажите в каком направлении копать и как лучше это реализовать?!
Заранее спасибо.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. xSavantx 25 10.12.19 09:30 Сейчас в теме
Внешняя обработка к документу (вид обработки - "ЗаполнениеОбъекта")
trickster; +1 Ответить
3. Intercititude 10.12.19 09:31 Сейчас в теме
(2)
вид обработки - "ЗаполнениеОбъекта"


https://infostart.ru/public/84119/ типа этого ?
правда у меня обычное приложение :(
5. xSavantx 25 10.12.19 09:35 Сейчас в теме
(3) Практически, но вам еще нужно открывать свою форму на клиенте для задания параметров заполнения. Сейчас посмотрю и возможно найду на инфостарте пример, подходящий вам
Intercititude; +1 Ответить
6. xSavantx 25 10.12.19 09:37 Сейчас в теме
7. Intercititude 10.12.19 09:38 Сейчас в теме
(6) Сейчас почитаю. Правда снова УФ. Надеюсь получится под ОФ переделать.
12. xSavantx 25 10.12.19 10:01 Сейчас в теме
(7) ОФ уже забывать начал, но там по-идее еще легче делается. Делаете обработку заполнения табличной части (в интернете куча материалов по этому поводу), добавляете в обработку форму где будете выбирать параметры (т.е. ваши документы возврата) и в процедуре "Инициализировать" открываете ее модально и получаете выбранные документы, которые в последствии и обрабатываете для заполнения табличной части.
alex-l19041; +1 Ответить
4. xSavantx 25 10.12.19 09:34 Сейчас в теме
А вообще бы не помешало поподробнее ситуацию описать. На данный момент непонятно это УФ или обычные формы и с какой формы хотите конкретно вызывать заполнение. Если это УФ и форма документа, то вариант решения я озвучил выше
71. YannikAlx 43 10.12.19 18:16 Сейчас в теме
(4) вот так должен быть запрос
А то я тоже ошибся в (66)

ВЫБРАТЬ
| КорректировкаРеализацииТовары.Количество,
| КорректировкаРеализацииТовары.Номенклатура
|ИЗ
| Документ.КорректировкаРеализации.Товары КАК КорректировкаРеализацииТовары
|ГДЕ
| КорректировкаРеализацииТовары.Ссылка В (&Список) 
72. Intercititude 11.12.19 09:29 Сейчас в теме
(71) Как оказалось не в запросе дело. в Первой тч у реквизита Док стоял тип Строка.
73. YannikAlx 43 11.12.19 09:42 Сейчас в теме
(72) ну главное - вы разобрались...
Это было бы выявлено на 2 секунде отладки...
Так что если не пользуетесь - осваивайте немедленно!
Я то не мог вашу обработку отлаживать - у меня же только ЗУП...
без отладки шагу не ступить при мало мальски серьезных работах...
Без нее только 2х2=4 можно программировать...
74. Intercititude 11.12.19 10:01 Сейчас в теме
(73) Я ей пользуюсь. Благодаря ей и выявил.

У меня вопрос теперь. Как обратиться к табличной части, как к таблице значении?( которая вторая)

Чтобы я смог заполнить ей табличную часть создаваемого документа.

	НовыйДокумент = Документы.ЗаказПокупателя.СоздатьДокумент(); 
	
	Табл = ЭтаФорма.ЭлементыФормы.Табл.ТекущиеДанные;
	
	НовыйДокумент.Товары.Загрузить(Табл);
	НовыйДокумент.Записать();
75. YannikAlx 43 11.12.19 10:16 Сейчас в теме
(74) Нет, так не пойдет.
Во первых вы должны заполнить все поля нового документа.
Это и дата и Организация и куча еще чего...
И потом лучше в обычном цикле перебором добавить строки в табличную часть документа из каждой строки "второй" табличной части обработки...
Там ведь не только Номенклатуру надо прописывать, но и другие поля, которых возможно нет в вашей табличной части №2
76. Intercititude 11.12.19 10:18 Сейчас в теме
(75) Ну я сделал так.
Процедура СформироватьДокНажатие(Элемент)
	
    СсылкаНаДокумент = СоздатьНовыйДокумент();
    ОткрытьЗначение(СсылкаНаДокумент);
	
КонецПроцедуры


Функция СоздатьНовыйДокумент()

	НовыйДокумент = Документы.ЗаказПокупателя.СоздатьДокумент(); 	
	НовыйДокумент.Дата = ТекущаяДата();
	
	Для Каждого Стр из ЭтотОбъект.ТаблТовары.Выгрузить() Цикл
		   НовыйДокумент.Товары.Загрузить(Стр);
	КонецЦикла;
	
	
	НовыйДокумент.Записать();

    Возврат НовыйДокумент.Ссылка;

КонецФункции 
Показать


Подразумевается, что остальные реквизиты шапки пользователь сам заполняет. А как прописать вручную заполнение ТЧ ?
77. YannikAlx 43 11.12.19 10:29 Сейчас в теме
(76) Ну хоть организацию то ему заполните!
Она обязательно должна быть заполнена, если документ создается программно.
Если вы ее не заполните и она одна в базе, то отображаться на форме она не будет, но ее отсутствие в документе приведет к ошибкам в будущем.
Intercititude; +1 Ответить
78. Intercititude 11.12.19 10:31 Сейчас в теме
(77) Окей,спасибо. С заполнениемм ТЧ разобраля сам )
8. YannikAlx 43 10.12.19 09:48 Сейчас в теме
Ну так и копайте в своем направлении ...
Создавайте в Объекте табличную часть с составным типом (2 типа "Возврат" и "Корректировка" )
В эту ТЧ вы будете заносить свои документы.
И команду с циклом получить из каждого документа в этой ТЧ всю Номенклатуру,количество,партии и т.д. для заполнения уже второй табличной части этого Объекта.
Вытаскивайте на форму эти 2 табличных части и команду Заполнить....
Ну а дальше уже как фантазии будут работать...
9. Intercititude 10.12.19 09:51 Сейчас в теме
(8) В "объекте" имеете ввиду "форма обработки"?
10. YannikAlx 43 10.12.19 09:56 Сейчас в теме
(9) Я изначально давал совет для УФ....
Там у Формы есть Объект (это объект самой обработки )
Как это все реализовать для обычной формы - не могу быстро сказать.....

Но суть думаю особо не поменяется - 2 табличных части по любому на форме для добавления документов и команда для заполнения...
11. Intercititude 10.12.19 09:57 Сейчас в теме
(10) Выяснилось, что достаточно на основании одного вида документа заполнять ТЧ.
В любом случае спасибо, буду копать дальше
13. YannikAlx 43 10.12.19 10:05 Сейчас в теме
(11) один вид документов - это меняет только тип реквизита первой таблично части , то есть все остальное по-прежнему
14. Intercititude 10.12.19 10:37 Сейчас в теме
(13) А разве недостаточно при открытии обработки,чтобы вылазила форма списка моих документов"Возврат".
Затем пользователь выбирает несколько документов - поставив галочку напротив них
И после уже на основании их формируется один документ ?
15. YannikAlx 43 10.12.19 10:45 Сейчас в теме
Это как вы реализуете способ добавления ваших документов в первую Табличную часть ...
Ну так при добавлении и будет открываться форма списка документов и вы выбираете хоть несколько выделением, хоть многократным нажатием добавляете в свою Таблицу документы - это стандартная технология.
Не придумывайте велосипедов, чем стандартнее - тем людям легче будет работать.
Никаких галочек при добавлении документов не должно быть.

Галочки возможны скажем уже в вашей первой таблице на против документов, если вы решите скажем заполнять вторую ТЧ не из всех выбранных а из тех , где стоит галочка...
Но первоначальное заполнение должно быть на мой взгляд вручную.... ( а если у вас будет 1000 возвратов? вы что все их сразу будете пихать в свою обработку? Зачем)
16. Intercititude 10.12.19 11:13 Сейчас в теме
(15) Что то не совсем понимаю Вас.

Я создал обработку, в модуле объекта описал "СведенияОВнешнейОбработке".

Затем добавил реквизит обработки "Документ" с типом " ДокументСписок.Возврат".
Добавил форму обработки и вывел реквизит "Документ" с указанием что это "ПолеВыбора".

Вышло следующее:

Функция СведенияОВнешнейОбработке() Экспорт
	
	Назначения = Новый Массив;
	Назначения.Добавить("Документ.ВозвратТоваровОтПокупателя");
	
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
	ПараметрыРегистрации.Вставить("Назначение",Назначения);
    ПараметрыРегистрации.Вставить("Наименование","Ладога: заказ на основании возврата корректировки");
    ПараметрыРегистрации.Вставить("Версия","1.0");
    ПараметрыРегистрации.Вставить("Информация","Дополнительная обработка табличной части");
    ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина);
     
    Команды = ПолучитьТаблицуКоманд() ;
    ДобавитьКоманду(Команды, "LADZAKAZ",
            "ЗаменитьТабличнуюЧасть","ВызовКлиентскогоМетода",Ложь,) ;
     
    ПараметрыРегистрации.Вставить("Команды",Команды) ;
     
    Возврат ПараметрыРегистрации;	
	
КонецФункции

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	
    НоваяКоманда = ТаблицаКоманд.Добавить() ;
    НоваяКоманда.Представление = Представление ;
    НоваяКоманда.Идентификатор = Идентификатор ;
    НоваяКоманда.Использование = Использование ;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение ;
    НоваяКоманда.Модификатор = Модификатор ;
	
КонецПроцедуры



Процедура Инициализировать(Объект, ИмяТабличнойЧасти = Неопределено, ТабличноеПолеОбъекта = Неопределено) Экспорт
	
	    ТабличнаяЧасть 			 = Объект[ИмяТабличнойЧасти];
		ФормаСпискаВозврата      = ПолучитьФорму("Форма");
		
		ФормаСпискаВозврата.ОткрытьМодально();
		
		Если Не ЗначениеЗаполнено(Документ) Тогда
			Сообщить("Не выбран документ Корректировки реализаций");
		КонецЕсли;
		
		Запрос = Новый Запрос;
		Запрос.УстановитьПараметр("Документ",Документ);
		Запрос.Текст = "ВЫБРАТЬ
		               |	КорректировкаРеализацииТовары.Номенклатура,
		               |	КорректировкаРеализацииТовары.СерияНоменклатуры,
		               |	КорректировкаРеализацииТовары.Количество,
		               |	КорректировкаРеализацииТовары.Цена,
		               |	КорректировкаРеализацииТовары.Сумма
		               |ИЗ
		               |	Документ.КорректировкаРеализации.Товары КАК КорректировкаРеализацииТовары
		               |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК КорректировкаРеализации
		               |		ПО КорректировкаРеализацииТовары.Ссылка = КорректировкаРеализации.Ссылка
		               |ГДЕ
		               |	КорректировкаРеализацииТовары.Ссылка = &Документ
		               |	И КорректировкаРеализации.лад_Как_Возврат = ИСТИНА";
					   
		Результат = Запрос.Выполнить().Выгрузить();				   
		
		
КонецПроцедуры      
	  


Показать


В правильном ли направлении я иду вообще ?!
17. Sashares 34 10.12.19 11:16 Сейчас в теме +0.7 $m
(16)Нет.
Советы выше для конфигурации на БСП.
У вас обычные формы, вряд ли там вообще есть БСП с нужными подсистемами.

В конфигурациях на обычных формах тоже бывает функционал заполнения табличных частей внешними обработками.
Какая у вас конфигурация?

Например, в БГУ1 есть справочник "Внешние обработки". В него добавляются внешние отчеты, обработки, внешние печатные формы, а также обработки для таб. частей документов.
У вас такой справочник есть?
Прикрепленные файлы:
18. Intercititude 10.12.19 11:28 Сейчас в теме
(17)Ну что то основное реализовано, но не всё.

Выходит всё-таки лучше из модуля формы обработки вызывать открытие списка документов "Возврат" ?
Но не пойму как сделать,чтобы пользователь мог несколько выбирать и ещё отбор необходимо добавить.

Тем более как на основании выбранных этих документов создаётся новый документ и заполняется его одна табличная часть
19. Sashares 34 10.12.19 11:33 Сейчас в теме
(18)

Но не пойму как сделать,чтобы пользователь мог несколько выбирать и ещё отбор необходимо добавить.


Создать специализированную форму выбора для этого, как вариант. В верхней части формы список документов, в нижней части формы таблица в которую попадают выбранные двойным кликом мыши документы из верхнего списка.
Далее по кнопке - выбранные документы передаются в для обработки - заполнения документа.
21. YannikAlx 43 10.12.19 11:36 Сейчас в теме
(18) Чтобы пользователь выбирал несколько - я же написал - создайте Таблицу в обработке, а не просто реквизит и вот в ней Добавляйте документы...
22. Intercititude 10.12.19 11:40 Сейчас в теме
(21) В смысле в табличную часть добавить реквизит "Документ" с типом " ДокументСписок.Возврат" ?

Что значит добавляйте ? мне нужен уже список всех документов с отбором.
23. YannikAlx 43 10.12.19 11:42 Сейчас в теме
24. YannikAlx 43 10.12.19 11:45 Сейчас в теме
(22) и кнопку добавьте "Добавить документы", которая открывает форму выбора документов Возврат и добавляет выбранные документы в строки этой табличной части в Этот Реквизит "Документ"
25. Intercititude 10.12.19 11:49 Сейчас в теме
(24) Сделал как Вы сказали.

Сейчас при открытий обработки. Открывается список всех необходимых документов.

Но! Там всего три колонки "Номер", "Дата", "Проведен" . То есть отбор можно сделать только по ним . В оригинальном же списке "Возвратов" их намного больше.

Плюс мне необходимо чтобы форма уже открывалась только с теми документами у которых на форме документа стоит "Используется" галочка в Истина.
26. Intercititude 10.12.19 11:52 Сейчас в теме
(25)А, кажись,колонки можно в ручную просто добавить.

А как
Плюс мне необходимо чтобы форма уже открывалась только с теми документами у которых на форме документа стоит "Используется" галочка в Истина.
Не понятно.

При этом возможность выбора нескольких документов нужна..
28. YannikAlx 43 10.12.19 11:59 Сейчас в теме
(26) мы разговариваем про фому и ерему похоже....
27. YannikAlx 43 10.12.19 11:58 Сейчас в теме
(25) Вы что-то сделали совершенно не так как я говорил!
Обработка должна открываться с пустым табличным полем.
И только после нажатия кнопки должна открываться форма добавления документов...
Ну картинку хоть выложите что ли как у вас там все...
29. Intercititude 10.12.19 13:01 Сейчас в теме +0.67 $m
(27) 1)У Обработки добавил реквизит Документ с типом "ДокументСписок.Возвраты". И добавил табличную часть пустую.
2)Создал форму обработки. Туда вывел табличную часть и присвоил ей тип "Данные" - мой реквизит "Документ".

А Вы хотите,чтобы я тип данных табличной части оставил пустым. Добавил на форму кнопку "Добавить", которая в свою очередь открывает список всех документов "Возврат". Пользователь выбирает и они добавляются в эту пустую ТЧ ?

Но мне не так надо. Мне необходимо чтобы уже был список с документами(которые уже есть в базе), пользователь выбирает несколько необходимых. Затем жмёт выполнить и формируется документ "Заказ" на основании выбранных документов.

Ума не приложу как программно эту реализовать, в этом загвоздка.
30. Intercititude 10.12.19 14:28 Сейчас в теме
(29) Оказалось всё куда проще. Сделал запрос и заполнил табличную часть обработки.
20. YannikAlx 43 10.12.19 11:33 Сейчас в теме
(16) "Не верным путем идете товарищи!"
Не реквизит
"Документ" с типом " ДокументСписок.Возврат"

А таблицу нужно добавить на форме...
31. YannikAlx 43 10.12.19 14:40 Сейчас в теме
Ну по уму - у вас не должно быть никакого реквизита обработки Документ- он вам зачем?
У вас должна быть у обработки 2 табличных части - первая
Документы с одним обязательным реквизитом (тип - ДокументСсылка.Возвраты )
По команде ДобавитьДок - вы выбираете желаемые документы из формы выбора Документов Возврата и добавляете их в свою табличную часть.
По второй кнопке (либо по факту добавления документов , что хуже) заполняется вторая табличная часть.. (запросом конечно, а что есть другой способ?)


Что жэ тут непонятно- я не понимаю... ;-)
32. Intercititude 10.12.19 14:51 Сейчас в теме
(31) Ну вышло всё проще. Я создал ТЧ со своими реквизитами.Плюс добавил реквизит Использование(Булево),чтобы могли выбирать несколько документов.

И программно запросом взял все документы "Возврат" и соответственно приравнял к моей табличной части.

Теперь проблема в другом. Как сформировать на основании выбранных документов - один документ "Заказ" со всеми данными из табличных частей этих документов ?
34. YannikAlx 43 10.12.19 15:14 Сейчас в теме
(32) выйти то оно вышло , но через пень колоду....
Вы упорно не хотите слушать голос разума...
Зачем вы занесли в свою табличную часть все возвраты?
Так можно в принципе- но не оптимально.....
Ведь можно и под кроватью спать и даже выспишься...
35. Intercititude 10.12.19 15:38 Сейчас в теме
(34) Ну я установил отбор на период. Так что при открытии там пусто )
33. YannikAlx 43 10.12.19 15:12 Сейчас в теме
Для вашего заказа - берите информацию из Второй табличной части, про которую я вам говорил...
И которая должна заполняться по данным документов из первой табличной части ...
У вас же во второй все должно быть... -
Номенклатура,количество,партии и т.д.
36. Intercititude 10.12.19 15:38 Сейчас в теме
(33) Да я до сих пор не пойму о каких вы двух ТЧ глаголите
39. YannikAlx 43 10.12.19 16:07 Сейчас в теме +0.7 $m
(36) Вот ради вас уже сварганил тестовую обработку даже... Ну и вспомнил заодно обычные формы...
Правде она на ЗУП 2.5 ибо у меня с обычными формами под рукой ничего другого нету
Ну да вам все равно должно быть ясно, или попробуйте запустить ее в зупе...
Ну или переделайте под свои типы документов и данных
Прикрепленные файлы:
аполнениеДокум.epf
41. Intercititude 10.12.19 16:16 Сейчас в теме
(39) Спасибо. Но я понял. Крутая реализация с множественным выбором,воспользуюсь ей )

Но суть другая. Вот на вашем примере предположим я выбрал четыре документа "ПриемНаРаботуВОрганизацию". У них есть своя табличная часть допустим.

И в итогее. Мне нужно все данные из этих четырёх табличных частей сложить!
Затем жму "Создать" предположим, и создаётся с нуля пустой абсолютно новый документ "Заказ".
И уже в него попадают все табличные части документов которые я выбрал( 4 штуки)
42. YannikAlx 43 10.12.19 16:27 Сейчас в теме
(41) Все складывается во второй табличной части ....
И уже из нее вы должны заполнить свой документ...
Просто добавить еще одну кнопку - "Создать заказ"
Или в моей реализации для тех сотрудников из отмеченных приемов на работу создать скажем докумен увольнения.
В процедуре этой кнопки - создаем документ и заносим данные из второй таблицы.
Сохраняем его ...
Все...
43. Intercititude 10.12.19 16:34 Сейчас в теме
(42) Наконец-то понял :) Благодарю! Жаль уже отдал монетки только себе...

И ещё момент, когда у Вас жмёшь по кнопке "Добавить документ" Открываются форма выбора всех документов.

А мне необходимо,чтобы в эту форму выбора попадали только те документы, у которых на форме документа стоит галка "Использовать".
Как этот фильтр применить ?
44. YannikAlx 43 10.12.19 16:39 Сейчас в теме
(43) А что это вообще за галка?
Откуда она берется ?
45. YannikAlx 43 10.12.19 16:42 Сейчас в теме
(43)
добавил реквизит Использование(Булево),чтобы могли выбирать несколько документов.

Вы его сами что ли зачем то придумали?
Он какую роль вообще играет?
На мой взгляд - это телеге 5 колесо....
Лучше сделать отбор по периоду скажем...
46. Intercititude 10.12.19 16:50 Сейчас в теме
(45) Не не, я утрировал. По факту на документе Галка "Это возврат". Это не я добавил. Было так.
Как раз именно документы с этой галкой пользователю и необходимы. На основании их он создаст другой документ.

А то что
добавил реквизит Использование(Булево),чтобы могли выбирать несколько документов.

это я имеел ввиду то же самое, что у вас "Помет" в табличной части.
49. YannikAlx 43 10.12.19 17:03 Сейчас в теме
(46) Вот только вопрос куда вы свою галку впихнули?
Ведь на форме - это ни о чем!
Она же не может храниться на форме....
Она должна храниться в документе...
В каком месте вы ее создали?
50. Intercititude 10.12.19 17:08 Сейчас в теме
(49) Я уже переделал, по вашему примеру , но что то не фурычит заполнить..
Прикрепленные файлы:
заказ.epf
53. YannikAlx 43 10.12.19 17:10 Сейчас в теме
(50) Что там у вас не фурычит?
54. Intercititude 10.12.19 17:10 Сейчас в теме
(53)Скинул обработку выше. НЕ заполняет табличную часть вторую...
55. YannikAlx 43 10.12.19 17:17 Сейчас в теме
(54) потому что в вашей таблице Номенклатура - Строка!
Ну где вы видели такое? ;-)))
56. Intercititude 10.12.19 17:23 Сейчас в теме
(55) Нет же, СправочникСсылка.Номенклатура ) Специально проверил перед отправкой Вам.
57. YannikAlx 43 10.12.19 17:26 Сейчас в теме
(56) спорить то зачем...
смотрите
Прикрепленные файлы:
58. Intercititude 10.12.19 17:32 Сейчас в теме
(57) Не тот вариант отправли значит. В любом случае даже с указанием нормального типа не работает.
59. YannikAlx 43 10.12.19 17:34 Сейчас в теме
60. Intercititude 10.12.19 17:40 Сейчас в теме
61. YannikAlx 43 10.12.19 17:43 Сейчас в теме
(60) ты издеваешься?
ты поменял даже назвыание зачем-то , но номенклатуру оставил СТРОКОЙ!
Прикрепленные файлы:
62. Intercititude 10.12.19 17:45 Сейчас в теме
(61) Бред какой то. возможно кэш шалит
64. Intercititude 10.12.19 17:47 Сейчас в теме
(62) Скачал этот же файл. Тип справочникссылка!
65. YannikAlx 43 10.12.19 17:54 Сейчас в теме
(64) Простите !
Это моя вина!
Дошло!!!!!

Я же открываю в конфигурации ЗУП, а том нет такого справочника....
Смотрю дальше ошибки.....
Intercititude; +1 Ответить
67. Intercititude 10.12.19 17:57 Сейчас в теме
(65) А я давай уже кэш чистить и перезапускать компьютер :D
68. YannikAlx 43 10.12.19 17:59 Сейчас в теме
(67) ну уж простите. виноват....
Запрос перепишите.
и пользуйтесь отладкой - вам станет все абсолютно ясно на каком этапе у вас проблема...
Умеете?

Просто программировать без отладки - это как ловить комаров с закрытыми глазами на звук...
66. YannikAlx 43 10.12.19 17:57 Сейчас в теме
(64) зачем такой странный запрос написали?
Нужно так
ВЫБРАТЬ
	|	КорректировкаРеализацииТовары.Количество,
	|	КорректировкаРеализацииТовары.Номенклатура
	|ИЗ
	|	Документ.КорректировкаРеализации.Товары КАК КорректировкаРеализацииТовары
	|ГДЕ
	|	КорректировкаРеализации.Ссылка В (&Список)
69. Intercititude 10.12.19 17:59 Сейчас в теме
(66) Как раз таки изначально так и было. Решил поменять, но видимо не в этом дело.
37. Intercititude 10.12.19 15:40 Сейчас в теме
(33) Тоесть в первой ТЧ есть список документов "Возврат",где пользователь только может два раза кликать по ним. Во второй ТЧ тоже список в который как раз попадают эти документы по которым пользователь прощёлкал ?
38. Intercititude 10.12.19 15:47 Сейчас в теме
(33) Да и уже не важно,работает и так. У меня другая проблема уже...

Я создал свою ТЧ ( куда передаю список всех документов "Возврат"). Там есть столбец Ссылка куда заполняется ссылка из моего запроса.

Мне как то надо обратиться к Ссылка.ТабличнаяЧасть ,взять оттуда все данные(номенклатура,количество) и передать в новый созданный документ. Причем из нескольких табличных частей...

Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
	
	СсылкаНаНовыйДокумент = СоздатьДокумент();
	ОткрытьЗначение(СсылкаНаНовыйДокумент);
	
	
КонецПроцедуры

Функция СоздатьДокумент()
	
	НовыйДокумент = Документы.КорректировкаРеализации.СоздатьДокумент(); // Новый пустой документ 
	ТоварыНовогоДокумента = НовыйДокумент.Товары.Добавить();      
	Для Каждого Стр Из СписокДокументов Цикл
		Если Стр.Выгружать = Истина Тогда
			НовыйДокумент.Заполнить(Стр);
			
		КонецЕсли;
	КонецЦикла;			 
	
КонецФункции
Показать
40. YannikAlx 43 10.12.19 16:12 Сейчас в теме
(38)
Вы же не сохранили , он и не откроется...
47. YannikAlx 43 10.12.19 16:56 Сейчас в теме
Тогда добавьте просто отбор перед открытием формы выбора и все
	 ФормВыб.Отбор.ВАШАГАЛКА.ВидСравнения=ВидСравнения.Равно; 
	 ФормВыб.Отбор.ВАШАГАЛКА.Значение=Истина;
	  ФормВыб.Отбор.ВАШАГАЛКА.Использование = Истина; 



И форма выбора откроется только с теми документами где вашагалка = истина
48. Intercititude 10.12.19 17:02 Сейчас в теме
(47)
ФормВыб.Отбор.ВАШАГАЛКА.ВидСравнения=ВидСравнения.Равно;
ФормВыб.Отбор.ВАШАГАЛКА.Значение=Истина;
ФормВыб.Отбор.ВАШАГАЛКА.Использование = Истина;


Ого,работает. Спасибо! Правда если в этой форме выбора открывать документ какой-нибудь,то после закрытия лезет ошибка.
 Итератор для значения не определен
	Для Каждого ВыбранногоДокумента Из  МассивДок  Цикл 
51. YannikAlx 43 10.12.19 17:08 Сейчас в теме
(48) Ну я же не обработал абсолютно все ситуации в этой тестовой обработке...
Сначала создается рабочий скелет , а потом на него уже наращивается весь требуемый функционал и отлаживаются ошибки одновременно...
Intercititude; +1 Ответить
52. YannikAlx 43 10.12.19 17:09 Сейчас в теме
(48) МассивДок - это тот массив , что возвращает форма выбора.
Если вы ничего не выбрали , то ясно надо обработать эту ситуацию в обработке...
63. YannikAlx 43 10.12.19 17:46 Сейчас в теме
Не заполняет именно потому что там Строка!
70. YannikAlx 43 10.12.19 18:00 Сейчас в теме
Отладкой определите что вы передаете в запрос в виде параметра...
И также посмотриет что у вас после выполнени язапроса в
ВыборкаДетальныеЗаписи
Оставьте свое сообщение

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