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

23.11.16

Задачи пользователя - Подбор и обработка объектов

Когда документ создается "на основании", то ТЧ копируется автоматически, а что делать если первоначально был открыт совсем не тот документ что надо и с нужным документом он ничего общего, кроме ТЧ, не имеет и уже забито очень много строк в ТЧ? Перебивать всё заново, проставляя по новой количество и цену?

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

Наименование Файл Версия Размер
обработка копирования ТЧ (исправленный)
.epf 13,64Kb
456
.epf 13,64Kb 456 Скачать

Данная внешняя обработка позволяет проанализировать ТЧ двух документов, выявить колонки имеющие подобные данные и по возможности перенести строки из ТЧ документа-источника в ТЧ документа-приемника.

Минусы:

  1. Не всегда имена колонок и соответствующих данных совпадают в обоих документах с точностью до буквы (например: ЕдиницаИзмерения и ЕдиницаИзмеренияМест или просто Единица).
  2. Не всегда в документе-источнике есть все колонки из документа-приемника.
  3. Перед тем как производить копирование надо создать документ-приемник и сохранить его.

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

Аналоги на InfoStart'е:

//infostart.ru/public/70480/ - под 8.1 и много настроек, которые в принципе можно даже сохранить и использовать в следующий раз.

//infostart.ru/public/16453/ - под 8.1, встраивается в дополнительные внешние отчеты и обработки как "Заполнение ТЧ". С одной стороны это удобно - встроил в ТЧ и пользуйся... С другой - не во всех конфигурациях все документы имеющие ТЧ оснащены кнопкой-подменю "Заполнить" (кажись такие видел, но уточнить не могу...)

См. также

Групповое копирование документов из периода в период

Подбор и обработка объектов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Очень часто бывает, что документы одного периода повторяются в следующем. Поэтому приходится выполнять рутинную работу по их повторению, а именно копировать каждый документ по отдельности. Чтобы этого избежать, была написана обработка группового копирования документов для конфигурации 1С Бухгалтерия версии 3.0.

3600 руб.

29.06.2015    44631    90    18    

100

Групповая обработка проводок для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0

Подбор и обработка объектов Бухгалтерский учет 1С:Бухгалтерия 2.0 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Данная обработка предлагается для случаев, когда бывает необходимо изменить какой-либо реквизит в группе проводок, отобранных по определенному набору полей, за определенный период, с определенным типом документа-регистратора. Предлагается четыре варианта обработки для конфигураций: БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0 .

2000 руб.

30.05.2016    28792    29    0    

49

Шаблон обработки документов/справочников по произвольному алгоритму

Подбор и обработка объектов Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Абонемент ($m)

Обработка-шаблон, позволяющая вносить изменения в существующие документы/элементы справочника по произвольному алгоритму, созданному в режиме Предприятия.

1 стартмани

11.03.2024    254    6    SanchoD    0    

3

Объединение табличных частей "Товары" документов "Реализация товаров и услуг"

Подбор и обработка объектов Платформа 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Акцизы Абонемент ($m)

Заказчик попросил написать обработку по объединению документов "Реализация товаров услуг" в один итоговый документ, в процессе выполнения получилось 2 обработки.

1 стартмани

29.02.2024    352    3    VdZMWOnC    8    

3

Автоматическое начисление ежемесячных услуг

Производство готовой продукции (работ, услуг) Подбор и обработка объектов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Автоматизированное начисление ежемесячных услуг с отправкой по электронной почте счетов. Модуль будет полезен организациям, которые ежемесячно выписывают большое количество счетов и реализаций клиентам, например: IT-компании, охранные предприятия, рекламные организации и другие, оказывающие профессиональные услуги на регулярной основе. Упрощенная версия предназначена для организаций, которые работают без НДС и при выписке услуг предполагается одна услуга в документе "Реализация товаров и услуг"

5 стартмани

18.02.2024    493    3    pean    1    

6

Проведение документов на управляемых формах

Подбор и обработка объектов Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 Россия Абонемент ($m)

Универсальная обработка проведения/перепроведения документов для любой конфигурации на управляемых формах.

1 стартмани

10.02.2024    467    16    SanchoD    0    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vdv_4462 29.04.11 17:07 Сейчас в теме
Не смог разобраться, как можно подкорректировать список документов под свои нужды. А очень бы хотелось.
Возможно, это по моей бестолковости, у меня не очень много опыта.
2. PanKir 70 03.05.11 23:44 Сейчас в теме
(1) к сожалению сейчас нет времени добраться до конфигурации обработки, но на сколько я помню документы источник и приемник у меня оформлены как реквизиты обработки (не путать с реквизитами формы) и тип значений у меня проставлен в их свойствах.
3. vdv_4462 04.05.11 11:21 Сейчас в теме
Да, все верно, понял. Спасибо!
4. Sk0rp 119 06.05.11 12:32 Сейчас в теме
При открытии получаю: "Внешняя обработка не может быть прочитана текущей версией программы". При открытии конфигуратором сначала требование конвертации, затем все равно та же ошибка. Что делаю не так?
5. PanKir 70 06.05.11 13:51 Сейчас в теме
(4)а какая платформа у тебя? я делал на 8.2.13.202 (и до сих пор на этой платформе, ещё не обновлял)
может из-за этого, хотя признаюсь тут я не знаток.
может попробовать в конфигураторе пересохранить обработку под своим именнем... хз...
6. Sk0rp 119 06.05.11 14:10 Сейчас в теме
У меня 1С:Предприятие 8.1.13.41, в описании обработки сказано, что она должна работать в том числе и на 8.0
Пересохранить в конфигураторе её невозможно, т.к. я уже написал, что там она тоже не открывается с той же ошибкой.
7. PanKir 70 06.05.11 17:23 Сейчас в теме
(6)прошу прощения, моя оплошность, видимо всё что сделано на 8.2 нельзя использовать на 8.1 и 8.0 (((
хотя обратное и работает...

могу тогда предложить как вариант - сделать аналог на 8.1 простым копированием модулей и реквизитов и созданием аналогичной формы.
всё же не с нуля начинать )))
9. marts-ya 07.05.11 16:52 Сейчас в теме
попробовал из "заказа покупателя" скопировать ТЧ в другой заказ покупателя. В ТЧ 1 строка в табл. Товары. РЕЗУЛЬТАТ:
{Форма.Форма.Форма(9)}: Индекс находится за границами массива
СтрокаПриемник = ДокументПриемник.ПолучитьФорму().Товары[ДокументПриемник.ПолучитьФорму().Товары.Количество()-1];
10. PanKir 70 10.05.11 09:23 Сейчас в теме
(9) Хз что там у Вас случилось, это надо разбираться на месте, пошагово.
Посмотрел у себя, всё работает. А с другими вариантами пар документов тоже самое?
Если в других вариантах всё норм, то вероятней всего в этом случае Вы делаете что-то не так...
12. 21oleg6 13.06.11 16:34 Сейчас в теме
1С:Предприятие 8.2 (8.2.12.80)
пробовал из "поступления товаров и услуг" скопировать всё и только номенклатуру в другое "поступление товаров и услуг"
При этом в документе источнике 2 строки-проведён, в документе приёмнике нет строк(пустой)-непроведён.
В результате выдает ошибку : Индекс находится за границами массива. Подробно: {Форма.Форма.Форма(9)}: Индекс находится за границами массива
СтрокаПриемник = ДокументПриемник.ПолучитьФорму().Товары[ДокументПриемник.ПолучитьФорму().Товары.Количество()-1];
Если в документ приемник добавить строку, то ошибки нет, но никакого копирования не происходит..:(
11. e.kogan 1892 18.05.11 10:30 Сейчас в теме
13. shard 279 06.07.11 16:01 Сейчас в теме
допилить на:
Процедура КнопкаВыполнитьНажатие(Кнопка)
	Ответ = Вопрос("Перед копированием будет очищена Табличная Часть документа-приемника. Продолжить?", РежимДиалогаВопрос.ДаНет, , , "Вы уверены???");
	ДокПриемник=ДокументПриемник.ПолучитьОбъект();
	Если Ответ = КодВозвратаДиалога.Да Тогда 
		ДокПриемник.Товары.Очистить();
		Для Каждого ТекСтрока Из ДокументИсточник.Товары Цикл 
			СтрокаПриемник = ДокПриемник.Товары.Добавить();
			//СтрокаПриемник = ДокументПриемник.ПолучитьФорму().Товары[ДокументПриемник.ПолучитьФорму().Товары.Количество()-1];
			Для Каждого Строка Из ТабличнаяЧастьИсточник Цикл 
				Если Строка.Флажок Тогда
					Попытка
						СтрокаПриемник[Строка.Наименование] = ТекСтрока[Строка.Наименование];
					Исключение
						
					КонецПопытки;
				КонецЕсли;
			КонецЦикла;
		КонецЦикла;
	КонецЕсли;
	ДокПриемник.записать();
КонецПроцедуры
Показать



тогда работает
15. FlyLink 18.10.11 08:55 Сейчас в теме
23. galexo 22.11.12 12:58 Сейчас в теме
(13)и (22)- спасибо! обработка оказалась полезной. Заработала после исправленний (13).
14. PanKir 70 24.08.11 09:30 Сейчас в теме
долго меня тут не было...
исправил процедуру как предложили в последнем коменте.
16. almas 254 16.01.12 09:20 Сейчас в теме
Табличные части не только в документах...
17. PanKir 70 16.01.12 09:34 Сейчас в теме
(16) almas, понимаю, но обычно справочники и документы не путают, когда заполняют ТЧ.
но идея хорошая, если будет свободное время, подумаю как переделать обработку под справочники, а пока на работе запарка и шеф не дает продохнуть... (
18. alex_asoft 17.01.12 22:00 Сейчас в теме
Спасибо за обработку , помогла
19. Cartman 11.02.12 13:29 Сейчас в теме
Добавил в ТабличнуюЧастьИсточник поле синоним.
В модуле после:
ТабличнаяЧастьИсточник[ТабличнаяЧастьИсточник.Количество()-1].Наименование = Имя;

дописал:
ТабличнаяЧастьИсточник[ТабличнаяЧастьИсточник.Количество()-1].Синони = Имя;


строку:
СтрокаПриемник[Строка.Наименование] = ТекСтрока[Строка.Наименование];

поменял на:
СтрокаПриемник[Строка.Синоним] = ТекСтрока[Строка.Наименование];


Пишем в синоним реквизит как он называется в приемнике. И пункт 1 из минусов можно убирать.
20. VapPaha 26.03.12 11:27 Сейчас в теме
хочу попробовать работу этой обработки, надеюсь поможет.
21. VapPaha 26.03.12 11:30 Сейчас в теме
хотя у меня задача перекинуть таблицу одного документа в другой из регистра бух
22. PanKir 70 27.03.12 20:54 Сейчас в теме
(21) VapPaha, ну добавить тип документа, который нужен именно Вам, нет проблем, главное чтоб в обоих документах были аналогичные табличные части...

З.Ы. а при чем тут регистр бух? документ он и в Африке документ, не зависимо от регистра...
24. rustork 20.02.13 07:40 Сейчас в теме
Добавил свои документы... вылетает с ошибкой....
{Форма.Форма.Форма(40)}: Значение не является значением объектного типа (Колонки)
Для Каждого Колонка Из ТПИсточник.Колонки Цикл

Пока разбираюсь...
25. PanKir 70 26.02.13 07:53 Сейчас в теме
(24) rustork,
а что за документы и под какой конфигурацией работаешь?
26. galexo 27.05.13 20:19 Сейчас в теме
БП2:
Если источник "Авнсовый отчет", а приемник "Треб-накладная", то сообщения:
- Неверно выбран тип одного из документов!!!
- {Форма.Форма.Форма(79)}: Значение не является значением объектного типа (Колонки)
Для Каждого Колонка Из ТППриемник.Колонки Цикл

???
27. PanKir 70 29.05.13 15:06 Сейчас в теме
(26) сон,
Если я правильно понял что БП2 - это бухгалтерия, то ошибка ясна:
эти документы не содержат идентичных табличных частей, то есть с одинаковым названием.
предполагалось что в обоих документах должна быть ТЧ - ТОВАРЫ, а в требовании-накладной такой ТЧ нет
можно немного доработать обработку, и даже примерно понимаю в какую сторону идти, но пока у меня нет времени...
может летом, когда пойду в отпуск у меня появится немного свободного времени и я что-нить придумаю :)
28. galexo 29.05.13 21:11 Сейчас в теме
29. Odinsov 11 01.04.14 13:54 Сейчас в теме
Спасибо, обработка помогла.
30. deutsch2008 30.08.17 11:46 Сейчас в теме
Что то не работает (((((
{ВнешняяОбработка.КопированиеТабличнойЧасти.Форма.Форма.Форма(40)}: Значение не является значением объектного типа (Колонки)
Для Каждого Колонка Из ТПИсточник.Колонки Цикл
31. PanKir 70 30.08.17 12:37 Сейчас в теме
(30) в коменте 27 я уже писал, что документы должны иметь одинаковые ТЧ - ТОВАРЫ. Возможно Вы выбираете документы, в которых нет такой ТЧ.
К сожалению текущий вариант работает только для ТЧ - ТОВАРЫ. Если надо другие ТЧ копировать, то можно легко подправить обработку руками.
И вновь к сожалению у меня пока нет времени сделать обработку красивее и более функциональней и/или перевести её на управляемые формы.

З.Ы. планирую этим заняться ближе к концу года, когда освободятся выходные.
32. deutsch2008 30.08.17 13:54 Сейчас в теме
Оставьте свое сообщение