IE 2017

Копирование табличной части из другого документа (Управляемая форма)

Обработки - Обработка документов

Обработка позволяет загрузить табличную часть документа из другого документа (например Реализацию по Поступлению). Обработка написана по технологии БСП и легко подключается как внешняя обработка.
Поставляется с открытым кодом и может служить примером для создания других подключаемых обработок.

Обработка поставляется с открытым кодом и может служить примером для создания других подключаемых обработок.

Обработка выложена в образовательных целях, чтобы программисты, которые только начинают работать с управляемыми формами, могли посмотреть хоть какой-то работающий пример.


Внимание! Обработку можно использовать и в рабочей информационной базе, но необходимо помнить, что табличная часть документа полностью замещается новой, после чего документ записывается!

Скачать файлы

Наименование Файл Версия Размер
Форма обработки
.epf 10,82Kb
07.02.12
431
.epf 10,82Kb 431 Скачать

См. также

Комментарии
1. Rino (Rino) 08.02.12 11:59 Сейчас в теме
Может быть полезной, спасибо
2. Bob Bob (bobmaxm) 08.02.12 15:41 Сейчас в теме
Точно! Однозначно пригодиться в работе. Спасибо!
3. Artem Lapa (Artemuch) 08.02.12 19:10 Сейчас в теме
Да обработка на управляемых формах пока еще редкость
4. Дмитрий Гомзин (plevakin) 09.02.12 11:56 Сейчас в теме
Табличная часть копируется полностью или есть возможность задавать произвольные отборы?
5. Алексей Яковлев (Leksus) 148 09.02.12 12:03 Сейчас в теме
(4) plevakin, копируется полностью (заменяя предыдущее содержимое), т.е. используется метода Загрузить(). Код открыт - совершенствуйте на здоровье!
6. Сергей Белов (Unicorn31) 45 12.02.12 11:52 Сейчас в теме
спасибо ! но немного придется доработать под свою задачу...
7. анна79 (Анна79) 15.02.12 10:05 Сейчас в теме
Спасибо, мне такая точно пригодится!!!
8. Angry (Angry) 11 16.02.12 08:14 Сейчас в теме
Идея, конечно, не новая, но наконец и до управляемых форм добираться стали. 1С обещают подобные фишки только в следующей версии.
Есть моменты, которые не плохо бы отразить в описании:
Наименование табличных частей само заполняется?
Написано по всем задумкам БСП или для удобной работы пользователя? Т.е. при загрузке табличной части сохраняется документ или всё же можно перезагрузить сохраненный вариант7
Каждую вроде интересную обработку тут достаточно затруднительно качать, потому эта информация будет довольно полезна.
9. Алексей Яковлев (Leksus) 148 16.02.12 09:21 Сейчас в теме
(8) Angry, я выложил обработку для того, чтобы программисты, которые только начинают работать с управляемыми формами могли посмотреть хоть какой-то работающий пример. Т.е. в образовательных целях.
Обработку можно использовать и в рабочей информационной базе, но необходимо помнить, что табличная часть документа полностью замещается новой, после чего документ записывается! Сейчас отражу это в описании...
10. Natik xalilov (okanat) 17.02.12 13:44 Сейчас в теме
В УПП можно использовать данную вещицу?
11. Алексей Яковлев (Leksus) 148 17.02.12 13:55 Сейчас в теме
(10) okanat, нет, на сколько я знаю в УПП в настоящий момент не используется подсистема дополнительных отчетов и обработок из БСП. Там используется своя другая подсистема.
13. anado (Samojlov_Denis) 24.02.12 12:05 Сейчас в теме
(9) Leksus, В УТ 11.0.7.13 выдаёт ошибку, при чём тут эксель не понял

{Форма.Форма.Форма(187,2)}: Процедура или функция с указанным именем не определена (ПоискИОбработкаНоменклатуры)
<<?>>ПоискИОбработкаНоменклатуры(МассивСтрокExcel);
14. Алексей Яковлев (Leksus) 148 26.02.12 19:39 Сейчас в теме
(13) anado, такого кода в обработке нет. Наверное какой-то глюк - попробуйте скачать обработку еще раз.
15. anado (Samojlov_Denis) 27.02.12 06:48 Сейчас в теме
(14) Leksus, странно действительно глючит, обработка та же, а ошибку не могу воспроизвести - вроде не сильно гуляли 23-го =)
Заодно и в 11.0.7.16 проверил - работает
16. anado (Samojlov_Denis) 27.02.12 08:59 Сейчас в теме
Кстати есть вопрос я тут на днях конструктором баловался по схожей теме данные кидал из заказа клиента в документ поступления, всё кидается нормально, проводится - но как то коряво, в отчетах по взаиморасчетам документ не появляется - где грабли?

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

	Перем СкладПоступления;
	Перем РеквизитыШапки;
	
	ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);

	Если ТипДанныхЗаполнения = Тип("Структура") Тогда
		
		Если ДанныеЗаполнения.Свойство("ДокументОснование")
			И (ТипЗнч(ДанныеЗаполнения.ДокументОснование) = Тип("ДокументСсылка.ЗаказПоставщику")
			Или ТипЗнч(ДанныеЗаполнения.ДокументОснование) = Тип("Массив")) Тогда

			ДанныеЗаполнения.Свойство("СкладПоступления", СкладПоступления);
			ДанныеЗаполнения.Свойство("РеквизитыШапки", РеквизитыШапки);
			ЗаполнитьДокументНаОснованииЗаказаПоставщику(ДанныеЗаполнения.ДокументОснование, СкладПоступления, РеквизитыШапки);

		Иначе

			ЗаполнитьДокументПоОтбору(ДанныеЗаполнения);
		КонецЕсли;
		
	ИначеЕсли ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаказПоставщику") Тогда
		ЗаполнитьДокументНаОснованииЗаказаПоставщику(ДанныеЗаполнения, СкладПоступления);
	ИначеЕсли ТипДанныхЗаполнения = Тип("ДокументСсылка.ВозвратТоваровПоставщику") Тогда
		ЗаполнитьДокументНаОснованииВозвратаТоваровПоставщику(ДанныеЗаполнения);
	ИначеЕсли ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаказКлиента") Тогда
		
                // Заполнение по Заказу клинта
		
		ВалютаВзаиморасчетов = ДанныеЗаполнения.Валюта;
		Валюта = ДанныеЗаполнения.Валюта;
		ГруппаФинансовогоУчета = ДанныеЗаполнения.ГруппаФинансовогоУчета;
		ПодотчетноеЛицо = ДанныеЗаполнения.Менеджер;
		Менеджер = ПараметрыСеанса.ТекущийПользователь;
		Принял = ПараметрыСеанса.ТекущийПользователь;
		НалогообложениеНДС = ДанныеЗаполнения.НалогообложениеНДС;
		Организация = ДанныеЗаполнения.Организация;
		Склад = ДанныеЗаполнения.Склад;
		ЦенаВключаетНДС = ДанныеЗаполнения.ЦенаВключаетНДС;
		Подразделение = ЗначениеНастроекПовтИсп.ПодразделениеПользователя(Менеджер,Подразделение);
		Для Каждого ТекСтрокаДополнительныеРеквизиты Из ДанныеЗаполнения.ДополнительныеРеквизиты Цикл
			НоваяСтрока = ДополнительныеРеквизиты.Добавить();
			НоваяСтрока.Значение = ТекСтрокаДополнительныеРеквизиты.Значение;
			НоваяСтрока.Свойство = ТекСтрокаДополнительныеРеквизиты.Свойство;
			НоваяСтрока.ТекстоваяСтрока = ТекСтрокаДополнительныеРеквизиты.ТекстоваяСтрока;
		КонецЦикла;
		Для Каждого ТекСтрокаСерии Из ДанныеЗаполнения.Серии Цикл
			НоваяСтрока = Серии.Добавить();
			НоваяСтрока.Количество = ТекСтрокаСерии.Количество;
			НоваяСтрока.Номенклатура = ТекСтрокаСерии.Номенклатура;
			НоваяСтрока.Серия = ТекСтрокаСерии.Серия;
			НоваяСтрока.Склад = ТекСтрокаСерии.Склад;
			НоваяСтрока.Характеристика = ТекСтрокаСерии.Характеристика;
		КонецЦикла;
		Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
			НоваяСтрока = Товары.Добавить();
			НоваяСтрока.КодСтроки = ТекСтрокаТовары.КодСтроки;
			НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
			НоваяСтрока.КоличествоУпаковок = ТекСтрокаТовары.КоличествоУпаковок;
			НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
			НоваяСтрока.Склад = ТекСтрокаТовары.Склад;
			НоваяСтрока.СтавкаНДС = ТекСтрокаТовары.СтавкаНДС;
			НоваяСтрока.СтатусУказанияСерий = ТекСтрокаТовары.СтатусУказанияСерий;
			НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
			НоваяСтрока.СуммаНДС = ТекСтрокаТовары.СуммаНДС;
			НоваяСтрока.СуммаСНДС = ТекСтрокаТовары.СуммаСНДС;
			НоваяСтрока.Упаковка = ТекСтрокаТовары.Упаковка;
			НоваяСтрока.Характеристика = ТекСтрокаТовары.Характеристика;
			НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
		КонецЦикла;
	
	ИначеЕсли ТипДанныхЗаполнения = Тип("СправочникСсылка.СоглашенияСПоставщиками") Тогда
		ЗаполнитьДокументНаОснованииСоглашенияСПоставщиком(ДанныеЗаполнения);
	КонецЕсли;

	ИнициализироватьДокумент();

КонецПроцедуры // ОбработкаЗаполнения()
...Показать Скрыть


З.Ы. Кстати ваша обработка так же себя ведёт - пока галочкой "по заказу" не побалуюсь нормально не проводится.
17. Алексей Яковлев (Leksus) 148 27.02.12 09:28 Сейчас в теме
(16) anado, видимо не заполняются какие-то служебные реквизиты в табличной части. Попробуйте сравнить табличную часть до и после установки/снятия флага "по заказу" - поймете в чем дело.
18. anado (Samojlov_Denis) 27.02.12 09:51 Сейчас в теме
Да в том то и прикол, что визуально 1 к 1. Я помню в 11.0.6.9 было что количество указано в форме, а 1с ругается что не указано количество - ручками перебивал и все проводилось без проблем
19. anado (Samojlov_Denis) 27.02.12 11:43 Сейчас в теме
проблема решена, спасибо за советы
20. Ilya Anatolevich (Bless.you) 01.03.12 07:50 Сейчас в теме
Извините, а нет обработки чтобы не скопировать, а просто загрузить табличную часть без заполнения всех остальных реквизитов. Например: есть остатки на складе, мне нужно их выписать в магазин, то есть просто создать документ движения товаров, но в ручную подбирать позиции -- это жесть... Если бы сохранить в файлик данные из отчета остатки на складе, а потом загрузить его в перемещение товаров... Или я сейчас не в ту тему пишу? Заранее простите, у нас только поставили эту программу -- ни фига не понятно куда тыкаться...
21. Алексей Яковлев (Leksus) 148 01.03.12 09:24 Сейчас в теме
(20) Bless.you, Есть универсальная обработка загрузки документа (произвольного) из Excel, но она платная http://infostart.ru/public/103546/
22. Ilya Anatolevich (Bless.you) 01.03.12 09:43 Сейчас в теме
Да, ее я тоже нашел. Спасибо)
23. Алексей (popovalex) 11 05.03.12 16:25 Сейчас в теме
Очень полезная обработка. Особенно как пример подключения внешних обработок в управляемых формах.
24. Александр Булейко (big60) 31 07.03.12 10:10 Сейчас в теме
На скриношоте у Вас засветилась обработка "Загрузка из экселя". Не собираетесь ей поделиться? Очень нужна, а самому писать просто жуть как некогда. Даже не писать, а перенести из 7.7
25. Алексей Яковлев (Leksus) 148 12.03.12 15:21 Сейчас в теме
26. Паха (VapPaha) 26.03.12 07:54 Сейчас в теме
прикольная, обработка сам хотел написать, что то подобное!
27. Дмитрий Воробьев (vde69) 878 22.02.13 12:40 Сейчас в теме
в целом ничего, хотя есть два явных минуса

1. не реализована работа с мульти выбором (ну это ладно...)
2. принудительно записывает документ, что исключает возможнось отменить путем вызода без сохранения (эту проблемму счас кручу, надеюсь что к вечеру допинаю, что-бы изменялось все только в открытой форме)
28. Марина Чирина (chmv) 06.08.13 15:45 Сейчас в теме
29. Серега (serezhick) 04.07.14 14:33 Сейчас в теме
30. Анна Ни (Anyu-n) 27 05.12.14 10:23 Сейчас в теме
Спасибо!!!! практически единственная "обработка табличной части документа" на управляемых формах, НО ПОСЛЕ ОБРАБОТКИ, ПРИ ПРОВЕДЕНИИ ДОКУМЕНТА ВЫВАЛИВАЕТСЯ ДАМП!!!! Уже голову всю сломала... Касперского нет, с видюхой все ок, ТиИ и чекдбфл - всеок.... именно при заполнении документа вашей обработкой.... подскажите что могло пойти не так.....
31. Анна Ни (Anyu-n) 27 05.12.14 10:36 Сейчас в теме
Если что 1С:Предприятие 8.3 (8.3.5.1248), Управление торговлей, редакция 11.1 (11.1.9.51)
На других машинах с другой базой то же....
32. Алексей Яковлев (Leksus) 148 05.12.14 16:48 Сейчас в теме
(31) Anyu-n, пока это не поборол. Если переключить отображение с "в закладках" на "в отдельных окнах", то все ок
Оставьте свое сообщение