Универсальная обработка копирования табличной части "Товары" любого документа из другого документа или файла Excel

Обработка предназначена для заполнения (копирования) табличных частей "Товары" любых докумнетов. Обработка работает в любых конфигурациях на платформе 1С 8.1 (для работы с 8.2 требуется конвертация) с любыми документами, где есть табличная часть "Товары". Источником данных может служить как любой документ, так и файл Excel с колонками код номенклатуры, количество, цена (не обязательна). В случае, когда коды номенклатуры в источнике и приемнике не совпадают (при обмене документами между разными базами), есть возможность указать файл соответствия кодов (Excel). Заполнение документа —  приемника происходит "интерактивно", то есть обработка фактически повторяет действия оператора, который вводит в документ номенклатуру, количество и цену (если нжуно). При этом, все остальные реквизиты строки (единица измерения, счета учета и пр.) заполнятся автоматически, как и при "ручном" вводе.

Обработка предназначена для заполнения табличных частей «Товары» любых докумнетов. Обработка работает в любых конфигурациях на платформе 1С 8.1 (для работы с 8.2 требуется конвертация) с любыми документами, где есть табличная часть «Товары». Источником данных может служить как любой документ, так и файл Excel с колонками «Код», «Количество» и «Цена». В случае, когда коды номенклатуры в источнике и приемнике не совпадают (при обмене документами между разными базами), есть возможность указать файл соответствия кодов. Заполнение документа —  приемника происходит «интерактивно», то есть обработка фактически повторяет действия оператора, который вводит в документ номенклатуру, количество и цену (если нжуно). При этом все остальные реквизиты строки (единица измерения, счета учета и пр.) заполнятся автоматически, как при «ручном» вводе.

Примеры решаемых с помощью обработки разовых задач:

— скоприовать данные из списания в оприходование (например при «переброске» товаров со склада на склад) — в качестве источника выбираем списание, в качестве приемника — оприходование и нажимаем «Выполнить»;

— скомпенсировать отрицательные остатки — формируем отчет по отрицательным остаткам, сохраняем в Excel, убираем знак «минус» и загружаем в оприходование;

— загрузить результаты инвентаризации из Excel — в качестве приемника выбираем документ инвентаризации;

— на основании расходной накладной создать приходную с измененными ценами — сохраняем в Excel табличную часть расходной накладной (например через «Вывести список» или с помощью соответствующего отчета), изменяем в Excel цены, загружаем в приходную накладную;

— обмен документами между различными базами — выгружаем в Excel расходную накладную из одной базы, формируем файл соответствия кодов номенклатуры (его можно использовать многократно, добавляя новые соответствия кодов по мере необходимости), загружаем данные в документ приходная накладная другой базы.

 Порядок работы следующий.

В качестве приемника данных выбираем заранее созданный документ, в котором заполняем необходимые реквизиты шапки, которые влияют на заполнение табличной части товары при ручном вводе (например контрагента и тип цен). В качестве источника данных может быть либо файл Excel с тремя колонками: в первой — код номенклатуры, во второй — количество, в третьей — цена (если загружать цену не нужно, то может отсутствовать); либо любой существующий в базе докумет. В случае, когда коды номенклатуры у источника и приемника не совпадают, необходимо указать файл соответствия номенклатуры — файл Excel с колонками «Код источника», «Код приемника».  Далее устанавливаем при необходимости флажки «Очищать приемник», «Загружать цены» и жмем «Выполнить».  Фактически обработка повторяет действия оператора, который вводит номенклутуру, количество и цену (если нужно).

В коде обработки использована методика интерактивного заполнения, описанная в одной из публикаций с данного сайта (ссылку к сожелению не нашел).

Программистам:

Довольно часто приходится программно заполнять табличные части «Товары» различных документов. При этом, помимо заполнения основных полей — «Номенклатура», «Количество» и «Цена», приходится обрабатывать заполнение множества дополнительных (единица измерения, коэффициент, ставка НДС и т.д.). Эта рутина утомляет, особенно в разовых задачах. Обработка решает проблему — табличная часть заполняется «интерактивно». Обработка работает в любой конфигурации на платформе 1С 8.1 с любыми документами, где есть табличная часть «Товары». Источником данных может служить как документ, так и файл Excel. В случае несовпадения кодов источника и приемника, необходимо указать файл соответствия кодов (Excel).

 

 

41 Comments

  1. detec

    Поставил плюс за идею, так как в самописной конфигурации не взлетела.

    Reply
  2. JRG

    Поддерживаю, плюс за идею

    Reply
  3. NovSL

    В 8.2 у меня тоже заработала, хотя слегка для себя пришлось поправить. Плюсанул за идею.

    Reply
  4. yavedmin

    Поддерживаю, плюс за идею.

    Reply
  5. cool.vlad4

    Это что-то типа того, что я озвучил http://forum.infostart.ru/forum24/topic42449/message454893/#message454893 ?…блин обработку скачал утром, надо посмотреть…

    Reply
  6. still_

    Отлично, я тоже ставлю плюс!!!!!!!!!

    Reply
  7. TSSV

    Спасибо за поддержку! Изменил немного загрузку из Excel.

    Reply
  8. w22u

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

    Reply
  9. w22u

    Попробовал заполнить табличную часть документа поступление из документа реализация, серия, страна и ГТД остались пустые.

    Reply
  10. TSSV

    (9) w22u, если при «ручном» добавлении загружаемых позиций в загружаемый документ (приемник) серия, страна и ГТД заполняются, то и при заполнении с помощью обработки все должно заполняться.

    Reply
  11. 1801

    Обработка нужная, видел правда здесь и более продвинутые — с настраиваемыми соответствиями колонок приемника и источника, что делает возможным перенос из любой табличной части в другую табличную часть иной структуры(ссылки не помню). Но даже в таком исполнении обработка очень нужная, поскольку по опыту знаю — большинство пользователей работают руками, что предполагает организацию 2-3 рабочих мест, вместо 1-го полуавтоматизированного. Я за увеличение производительности труда (сам работаю за 3-их), а соответственно и за увеличение его оплаты. Плюсую.

    Reply
  12. arjuna

    Поддерживаю, плюс за идею. Из описания не понятно, обработка добавляет строки к уже существующим, или заменяет. В любом случае можно доделать.

    Reply
  13. arjuna

    После тестирования появился вопрос. А если мы собираем номенклатуру в один документ из разных и повторяется номенклатура, то почему бы не сворачивать таблицу по номенклатуре и количеству.

    Reply
  14. TSSV

    (12) arjuna, спасибо за замечание! На форме обработки есть два флажка: «Очищать приемник» — при установке которого перед загрузкой приемник будет очищен и «Загружать цены» — при его установке в приемник будут загружаться цены из источника.

    Reply
  15. TSSV

    (13) arjuna, постараюсь учесть Ваши пожелания, спасибо!

    Reply
  16. post279

    Спасибо

    Reply
  17. Psiheya

    Интересно, попробуем, пощупаем. Опять же — пока плюс за идею

    Reply
  18. Nado2010

    интересная штуковина… буду тетсировать как всегда на управлении производственным предприятием

    Reply
  19. ThunderUA

    Пригодилось

    Reply
  20. askoder

    спасибо

    Reply
  21. Fenrus89

    мм… а смысл? хотя идея вроде неплохая

    Reply
  22. lazy sea

    спасибо огромное-супер

    Reply
  23. lazy sea

    (22) Fenrus89,

    Это просто спасение. У меня менеджеры заполняют номенклатуру только при отгрузке, а потом надо делать приходование задним числом. Вместо того, чтобы тратить часы на отбор номенклатуры из базы по номерам, одним движением руки. Просто супер!!!!

    Reply
  24. TSSV

    Спасибо, очень рад, что понравилось!

    Reply
  25. lazy sea

    Скажите плз, а есть возможность переносит реализацию из одной программы в другую? У меня две одинаковые базы 1 С, в одной учет ведут менеджеры, в другой я выбираю «нужные» реализации и копирую их в свою чистую базу руками. Попробовала через эту обработку, но поняла, что вроде нет возможности выкачать данные в файл, а потом восстановить в другой аналогичной базе

    Reply
  26. TSSV

    (26) lazy sea, Для того чтобы перенести документ из одной базы в другую, необходимо сохранить в Excel его табличную часть — колонки код номенклатуры, количество, цена (цену можно не указывать, если загружать ее не нужно). Как это сделать. Если в бухгалтерии, то можно воспользоваться отчетом «Универсальный отчет» (в меню Отчеты — Прочие…), в нем указать тип данных — «Документ», объект — например «Поступление товаров и услуг», таблица — «Товары». После этого в настройках убрать группировки (они не нужны нам), указать поля отчета Номенклатура.Код, Количество и Цена, задать отбор по документу (поле Ссылка), сформировать отчет и сохранить его в Exsel (меню Файл — Сохранить копию, выбрав тип файла xls). Далее в файле удалить шапку отчета, здесь же можно скорректировать цены если нужно. Далее, открыв обработку во второй базе, этот файл указать в качестве источника. И здесь еще необходимо учесть следующее — если коды номенклатуры в базах различаются, то нужно создать еще один файл Excel, в котором указать соответствия кодов номенклатуры — в этом файле должно быть 2 колонки: код в первой базе, код во второй базе. Файл соответствия кодов можно использовать многократно, добавляя туда новые позиции по мере их появления. Файл соответствия выберите в обработке при загрузке. Если коды в обеих базах одинаковые (что маловероятно конечно), то файл соответствия можно не использовать. В общих чертах так. В планах добавить в обработку возможность поиска номенклатуры не только по коду, но и по наименованию, а так же добавить опцию поиска наиболее похожих из имеющихся в базе наименований (так называемый нечеткий поиск). Эту опцию можно будет использовать например для анализа прайсов конкурентов или для загрузки наименований по данным поставщика, когда написания различаются. А вообще задачи обмена данными можно решать и с помощью привлечения программистов — создать правила обмена например … вариантов масса 🙂

    Reply
  27. wialex

    Очень пригодилась эта обработка. Избавила от большого объема рутинной работы.

    Спасибо.

    Reply
  28. razrazraz

    Идея конечно интересная но мне к сожалению не подошла.

    Интересовали возможности свзанные с Экселем . Но есть проблемма что номенклатура не синхронизирована в обеих базах.Теоретически конечно всё возможно решить.

    Reply
  29. electronik

    обработка очень виручила (почемуто бортовая функция 1С ввести на основании работала сошобками, с ошибками работала функция заполнеить по документу поступления) пока разбирался и исправлял ошибки обработка здорово виручила. Автору огромное спасибо так держать, продолжайте в том же духе.!!!!Респект

    Reply
  30. alcoholic

    плюс к идеии!!, удобная вещь

    Reply
  31. Adoms

    Большое спасибо!

    Reply
  32. makas
    В случае несовпадения кодов источника и приемника, необходимо указать файл соответствия кодов (Excel)

    (0) Автор, Честно говоря непонятно что и как соспостовлять….

    Выложите пожадуйста пример файлов сответствия и шаблона загрузки в документ из Экселя.

    Ошибка в типовой БП 2.0.39: при копировании данных из документа «Реализация товаров и услуг» в «Реализация товаров и услуг» Номер ГТД и Страна неп переносятся.

    Reply
  33. TSSV

    (33) makas, Во первых, просьба прочитать пост (27) — подобные вопросы уже задавались. Так же хочу заметить, что хотя с помощью этой обработки и можно решить довольно много разнообразных прикладных задач, есть задачи, решить которые с ее помощью нельзя. Например, для копирования данных из расходной накладной в расходную накладную, лучше воспользоваться штатным механизмом создания нового документа копированием.

    Reply
  34. kounshin

    Наконец-то воспользовался обработкой: автор молодец. Вопрос пока один: а можно ли прикрутить перенос не только номенклатуры, но и их Характеристик?

    Reply
  35. TSSV

    (35) kounshin, спасибо! Думаю можно, причем все что для этого нужно в обработке присутствует, то есть доработки небольшие требуются.

    Reply
  36. alekseies

    попробуем на управлении производственным предприятием …

    Reply
  37. kounshin

    (36) Tsaregorodtsev, тогда ждём обновлений 🙂

    Reply
  38. TSSV

    (38) kounshin, пока обновление с возможностью переноса характеристик не предвидится ) Характеристики используются не везде (например их нет в БП), при этом обработка претендует на некторую универсальность, чем и обусловлен довольно компактный набор возможностей — только самое необходимое. Но, ее легко доработать под конкретную задачу. Если нужно — пишите в личку, договоримся я думаю )

    Reply
  39. ula1c

    Спасибо, доработала под себя. У нас в Авансовых отчетах большое поступление продуктов за наличных расчет от одного поставщика. Сканирую накладные, соханяю в Эксель-файле, таблицу соответствия кодов по мере необходимости пополняю. В ней я добавила коэффициент для пересчета количества, если товар поступил в другой единице измерения. Раньше на тупой ввод такого АО уходило до 4 часов времени . Сейчас около 2ч более приятной работы -сканирование и распознавание накладных и загрузка . Еще раз спасибо.

    Reply
  40. TSSV

    (40) ula1c, Приятно читать такие отзывы, да еще и от девушки! Рад что пригодилась обработка!

    Reply
  41. yuyu1

    А Вы не переделывали обработку под 8.2 ? Версия 8.1 уже как бы устарела…..

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *