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

23.11.16

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
обработка копирования ТЧ (исправленный)
.epf 13,64Kb
459
459 Скачать (1 SM) Купить за 1 850 руб.

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

Минусы:

  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.

6000 руб.

29.06.2015    45792    92    18    

105

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

Массовая работа с объектами типовыми методами платформы 1С.

10 стартмани

13.12.2024    749    1    nomad_irk    1    

4

ККМ Кассовые операции Подбор и обработка объектов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Модуль, ускоряющий подбор номенклатуры в 1С в чек ККМ и Заказе клиента. Оптимизированная форма подбора товаров с многократно ускоренным процессом поиска товаров в 1С в чек ККМ и Заказе клиента для конфигураций 1C:Управление торговлей 11.5, 1С:Комплексная Автоматизации 2.5 и 1С:ERP Управление предприятием 2.5

18000 руб.

30.10.2024    702    1    0    

3

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

Обработка, очищающая двойные записи в регистре "График платежей". Решает проблему: Обнаружено дублирование ключевых значений в колонках: "Ссылка". Отображение данных в списке невозможно.

1 стартмани

26.09.2024    650    2    AlexHelmer    0    

4

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

После расчета и выплаты отпускных порой отпускные приходится пересчитывать. Причины: начислена годовая премия, или начислена зарплата, входящая в расчетную базу, и прочие. Делать вручную - непрактично. Можно воспользоваться отчетами (типовых, к слову, нет), но потом еще надо вручную создавать документы-исправления. Данная обработка автоматизирует весь процесс по принципу Plug-n-Play.

3 стартмани

14.08.2024    754    16    Vinzor    0    

5

Поиск данных Корректировка данных Подбор и обработка объектов Программист Пользователь Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Абонемент ($m)

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

10 стартмани

04.07.2024    1170    7    user1527257    1    

5

Корректировка данных Подбор и обработка объектов Пользователь Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Универсальная обработка! Подходит для всех конфигураций! На одном экране можно видеть как все справочники, так и детальную информацию по каждому из них (реквизиты и табличные части). Удобно! Присутствует возможность редактирования справочника.

10 стартмани

28.06.2024    1022    9    user1527257    0    

9

Журналы и реестры данных Подбор и обработка объектов Бухгалтер Пользователь Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:CRM ПРОФ, КОРП 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

Универсальный реестр документов! Журнал документов для всех конфигураций! На одном экране можно видеть как все документы, так и детальную информацию по каждому из них (реквизиты, движения и табличные части). Удобно! Присутствует возможность редактирования документа. Универсальный редактор документов!

10 стартмани

20.06.2024    1673    30    user1527257    3    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 1897 18.05.11 10:30 Сейчас в теме
13. shard 282 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 261 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 Сейчас в теме
Оставьте свое сообщение