gifts2017

Удобная загрузка номенклатуры, картинок, прайсов и накладных из Excel (xls) и dbf-файлов для 1с 8.1/8.2 (обычные формы)

Опубликовал Святослав Ушаков (sacred) в раздел Обмен - Обмен через DBF

Удобная загрузка номенклатуры (с картинками), в справочник Номенклатура и любые документы с табличной частью Товары, включая УстановкуЦенНоменклатуры из Excel (xls) и dbf-файлов для 1с 8.1/8.2. Только в обычном (не управляемом) режиме запуска.

Здравствуйте.

Идея интерфейса обработки, а также работа с Excel взята из http://infostart.ru/public/20610/.

Обработка умеет:

  • загружать данные из файлов xls (с любого листа) и dbf
  • загружать картинки из файлов xls
  • загружать номенклатуру, а именно:
    • любые реквизиты номенклатуры
    • свойства номенклатуры
    • подчинённые справочники номенклатуры
    • штрих-коды номенклатуры
    • цены номенклатуры
  • перед загрузкой искать существующую номенклатуру по  штрих-коду, а также по любым реквизитам, в том числе по первым символам.
  • выполнять групповую обработку (типовую) над найденными позициями номенклатуры
  • заполнять при загрузке задаваемыми значениями по-умолчанию любые реквизиты, свойства и т.д.
  • загружать найденную/созданную номенклатуру в табличную часть "Товары" любого документа.

Чтение файла 

После выбора файла происходит автоматическая загрузка данных из него. Если в файле несколько листов, можно выбрать нужный лист (справа вверху основного окна). Для загрузки из файла наличие Excel не нужно. Сверху есть флажок «Считывать картинки» если его нажать (до или после выбора файла) из файла также считаются картинки. Для считывания картинок наличие Excel обязательно. Для загрузки из файлов dbf необходимо наличие на компьютере установленного провайдера Microsoft OLE DB Provider for Visual FoxPro 9.0, который можно скачать здесь.

После считывания файла необходимо произвести основные настройки для последующей загрузки. Бóльшая часть настроек выполняется через контекстное меню(правая кнопка мыши) табличного поля. Сопоставление колонок производится через контекстное меню табличного поля. Лишние строчки можно удалять просто клавишей, а также с помощью контекстного меню.

Контекстное меню поля таблицы

  • «Прочитать ИНН контрагента» – пытается в текущей ячейке найти последовательность вида «ИНН: 12242551231» и вычленив из неё номер найти в справочнике Контрагенты элемент с таким ИНН. В случае успеха этот контрагент будет автоматически установлен в документ, который мы будем загружать.
  • «Выделить артикул» – создаётся новая колонка «Артикул», из текущей колонки выделяется часть слева или справа (выбирается), похожая на артикул. Принцип выделения следующий: ищется первый русский символ, всё, что левее – считается артикулом. В случае, если строка начинается с русского символа, ищется второе вхождение русских символов и всё, что левее – считается артикулом. Это бывает нужно, когда поставщики присылают файлы, где наименование и артикул находятся в одной колонке.
  • «Отменить назначение имени колонке» – назначенное имя колонки освобождается, и его можно назначить другой колонке. Отменить назначение также можно, если повторно выбрать в назначенной колонке тот же реквизит.
  • «Удалить незаполненные в колонке строки» – удаляет строки в которых значение текущей колонки – пустое. Для числовых колонок (цена, количество, сумма) удаляются все строки, в которых нет числа. Колонка считается числовой, если ей назначено числовое имя (цена, количество, сумма).
  • «Колонка поиска» – назначает колонку, по которой в базе будет происходить поиск номенклатуры, подробнее ниже.
  • «Назначить шаблон выбранным строкам» – позволяет назначить один шаблон сразу нескольким выделенным строкам (поддерживается множественное выделение). Подробности ниже.
  • «Умножить значение в колонке» – умножает колонку на любое число. Имеет смысл для числовых колонок.
  • «Скрыть неназначенные колонки» – делает невидимыми все колонки, кроме тех, которым назначено имя поля для загрузки. Колонки при этом не удаляются, их можно снова сделать видимыми с помощью стандартного действия «Настройка списка»
  • В нижней части меню находится список реквизитов, которые можно назначить колонкам исходного файла. При назначении имя колонки меняется с «Fx» на назначенное и выделяется жирным.

Настройка загружаемых реквизитов

В правой части формы есть табличное поле со списком реквизитов, доступных к загрузке. В списке имеются все реквизиты справочника "Номенклатура", все свойства, назначенные справочнику "Номенклатура", типы цен номенклатуры, штрихкоды и подчинённые справочники (Серии, Характеристики и т.д.) и некоторые дополнительные значения, необходимые для загрузки данных в документ (Цена, Количество, Сумма)
В этой таблице 3 колонки.
  • Колонка "Реквизит". Здесь отображается имя настраиваемого реквизита.
  • Колонка "Способ загрузки".Здесь можно выбрать способ загрузки реквизита. Можно выбрать из нескольких вариантов.
    • Значение: Значение данного реквизита будет задано пользователем одно для всех позиций загружаемой номенклатуры. Например, СтавкаНДС=18%
    • Из реквизита: Значение будет скопировано из другого реквизита. Например, Полное наименование из Наименования.
    • Из колонки: Значение будет загружена из одной из колонок файла. Только реквизиты, которые имеют способ загрузки "Из колонки" появляются в контестном меню и могут быть назначены на определённую колонку для загрузки.
    • Из шаблона: Значение будет взято из одноимённого реквизита номенклатуры-шаблона.
    • Не использовать: Значение не будет ни заполняться ни изменяться.
  • Колонка "Значение". Имеет смысл только для способа загрузки "Значение", а также для цен, загружаемых "Из колонки". Здесь можно установить значение реквизита, которое будет назначено всей загружаемой номенклатуре. Для цен здесь указывается валюта загружаемой цены.

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

Красным выделены реквизиты, обязательные для загрузки. Например, наименование. 
Зелёным - заполненные к загрузке реквизиты
Зачёрктуным - отключенные реквизиты, у которых стоит способ загрузки "не использовать". Эти реквизиты не будут появляться в контекстном меню для назначения колонок. Кроме того, они находятся в конце списка реквизитов. Сделано для убирания ненужного с глаз долой.

Колонки и реквизиты

Поиск номенклатуры в базе

Чтобы найти номенклатуру в базе, нужно сначала определить реквизит поиска. Это можно сделать в контекстном меню:

Установка колонки поиска

 

Или добавляя строчки в таблицу настройки поиска:

Настройка поиска

Поиск осуществляется с помощью кнопки «Найти в базе». Поиск происходит в соответствии с настройками поиска, расположенными над кнопкой поиска. Строки в таблицу настроек можно добавлять либо кнопкой Insert, либо через контекстное меню, также строки автоматически добавляются при назначении в основной таблице какой-нибудь колонки колонкой поиска. В таблице настроек 4 колонки. Смысл колонок будет понятен из примеров.

Пример1.
Колонка поиска = Артикул
Реквизит поиска = Артикул
Поиск будет выполнятся по равенству реквизита Артикул значению в колонке Артикул.

Пример2.
Колонка поиска = Артикул
Реквизит поиска = НаименованиеПолное
По первым символам = Истина
Количество первых символов = 6
Поиск будет выполняться в реквизите НаименованиеПолное, по первым 6-ти символам из колонки Артикул, причём с этой подстроки НаименованиеПолное должно начинаться.

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

После выполнения поиска в таблицу добавляется 2 колонки: Шаблон и «Номенклатура 1с». В колонке «Номенклатура 1с» находится найденная номенклатура из базы данных. Если найдено несколько позиций для строки, то в колонке написано «выберите из списка». Для любой строчки можно выбрать соответствие вручную. При выборе из нескольких найденных открывается список номенклатуры с отбором по найденным позициям. Если нужно выбрать другую позицию, необходимо снять отбор и выбрать из всего справочника.
При повторном нажатии на кнопку поиска результат предыдущего поиска и назначенных вручную соответствий полностью очищается и производится новый поиск.

Групповая обработка

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

Загрузка картинок

Если отмечен флажок «Считывать картинки», и в файле были картинки, то в таблице отображаются уменьшенные картинки. У каждой картинки есть кнопка просмотра (Лупа), которая открывает окно просмотра картинки в увеличенном масштабе. Окно отображает 2 картинки, слева основное изображение из колонки «Номенклатура 1с», а справа картинку из ячейки, в которой нажата кнопка «Просмотр». Если колонке с картинками назначить имя  «Основное изображение» - картинки будут загружены в базу данных и назначены реквизиту  «Основное изображение» номенклатуры.

Загрузка номенклатуры

Предусмотрено 2 режима загрузки номенклатуры: только создавать ненайденные позиции и перезаписывать всё. В обоих режимах ненайденные позиции создаются. Для новых позиций необходимо задать некоторые обязательные значения. Второй способ задать значения по-умолчанию это выбрать номенклатуру-образец в колонке «Шаблон». Для каждой строчки можно выбрать свой шаблон, также можно выбрать шаблон для группы строк, для этого нужно выделить несколько строк и в контекстном меню нажать «Назначить шаблон выбранным строкам». Из шаблона в номенклатуру переписываются реквизиты, для которых установлен режим загрузки "Из шаблона", а также Характеристики (создаются по образцу).
Если назначить какой-нибудь колонке, или нескольким Тип цен, то будет создан документ установки цен и загружены цены .
Далее нужно нажать кнопку «Загрузить в базу».
Если стоит флажок Перезаписать существующую номенклатуру, то реквизиты номенклатуры из колонки "Номенклатура 1с" будут заполнены установленными значениями. Если при этом также стоит флажок "Не заменять пустыми значениями", то пустые значения записываться не будут. Например, если не указать Родителя для номенклатуры, то при перезаписи, вся уже существующая номенклатура останется в своих группах.

Загрузка документов

После того, как колонка «Номенклатура в 1с» целиком заполнена можно загрузить данные в любой документ, который имеет табличную часть «Товары».
Обработку можно подключить через стандартный механизм в конфигурациях УТ10, КА1, УПП, БП в качестве обработки заполнения табличных частей. Её также можно сконвертировать под платформу 8.2, проверено - работает.

Сохранение и применение настроек

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

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

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

Наименование Файл Версия Размер Кол. Скачив.
ЗагрузкаНоменклатуры_2012.11.12
.epf 99,46Kb
12.11.12
798
.epf 99,46Kb 798 Скачать
ЗагрузкаНоменклатуры_2011
.epf 23,19Kb
27.02.12
173
.epf 23,19Kb 173 Скачать
ЗагрузкаНоменклатуры_2012.01.24
.epf 36,23Kb
26.08.12
559
.epf 36,23Kb 559 Скачать
ЗагрузкаНоменклатуры_2012.08.26
.epf 295,53Kb
13.09.12
120
.epf 295,53Kb 120 Скачать
ЗагрузкаНоменклатуры_2012.09.13
.epf 97,95Kb
20.09.12
59
.epf 97,95Kb 59 Скачать
ЗагрузкаНоменклатуры_2012.09.20
.epf 98,27Kb
14.10.12
161
.epf 98,27Kb 161 Скачать
ЗагрузкаНоменклатуры_2012.10.14
.epf 98,85Kb
12.11.12
160
.epf 98,85Kb 160 Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Art Anto (artanto) (5.00 $m), Константин Хужин (BelFermer) (1.00 $m), kyja kyja (kyja) (0.30 $m), Андрей Оганян (Gasya) (0.20 $m)
Подписаться Добавить вознаграждение

Комментарии

1. Taras Варварич (itar59) 21.10.11 13:33
А в документ "Поступление...." втянет?
2. Святослав Ушаков (sacred) 21.10.11 13:57
Теоретически обработка загружает любые документы, у которых есть табличная часть Товары.
Однако, все документы во всех конфигурациях я не тестировал, так что проверьте. О результатах - отпишитесь, будут косяки - постараюсь поправить.
3. Igоr Sаulеviсh (gutentag) 21.10.11 17:33
Для типовой бух-8.2 ред.2.0 ошибки При выборе/открытии файла
---
Форма.Форма.Форма(21)}: Ошибка при вызове конструктора (COMОбъект)
db = Новый COMОбъект("ADODB.Connection");
по причине:
Класс не зарегистрирован
----
...и еще обработка ругается на серию, но это я "закомментировал"
4. Святослав Ушаков (sacred) 21.10.11 20:35
У вас проблемы с объектом ADODB. Это библтотека Windows, которая всегда присутствует на компьютере и зарегистрирована в реестре. Но на вашем компьютере ADODB либо отсутствует, либо неверно зарегистрирована, либо какая-то другая программа мешает ей нормально функционировать. Суть в том, что это не ошибка обработки, надо разбираться с компьютером (с Windows'ом). На чистом, свежеустановленном Windows такая проблема не проявляется - всё работает корректно. В принципе, если у вас есть Excel, то можете заменить процедуру чтения файла на другую, читающую через объект Excel.Application.

Данная же обработка не требует наличия Excel на компьютере, но расчитана на то, что объект ADODB работает корректно. К сожалению дистанционно помочь вам в настройке этой библиотеки не смогу. Собственно и с проблемой такой никогда не встречался. Везде, где я работал проблем с ADODB не было. А вам просто "повезло".
5. Илья Фильчагов (fcsm220691) 26.10.11 11:34
Если пишет класс не зарегистрирован, то держите файл.xls открытым и пробуйте загружать.
6. Damon Li (damontut) 01.11.11 07:16
при открытии в Бухгалтерии 8.2 пишет:
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(94,5)}: Переменная не определена (УчетСерийныхНомеров)
<<?>>УчетСерийныхНомеров.ПроверитьСерийныеНомера(СтрокаТабличнойЧасти, ДокументОбъект);
7. Святослав Ушаков (sacred) 02.11.11 23:06
Ошибка УчетСерийныхНомеров - исправлено.
8. latrium (latrium) 02.11.11 23:59
9. Anatoliy (NOVOPRO) 09.11.11 03:58
Спасибо хорошая обработка.
10. Святослав Ушаков (sacred) 09.11.11 22:05
Приятно читать. Но если действительно хорошая, лучше не пишите это в комментарии, а просто поставьте плюсик :) Мне будет ещё приятнее.
user595924_fedor_zaycev; +1 Ответить
11. Павел Хорев (w22u) 20.11.11 20:14
Спасибо, данная обработка может сильно облегчить электронный документооборот с основным поставщиком, коды товаров которого, совпадают с кодами в базе.
13. Igоr Sаulеviсh (gutentag) 16.01.12 12:12
Для типовой бух-8.2 ред.2.0 ошибка:
{Форма.Форма.Форма(218)}: Поле объекта не обнаружено (ВидНоменклатуры)
ОбъНом.ВидНоменклатуры = ВидНоменклатуры;
14. Святослав Ушаков (sacred) 24.01.12 14:16
Поправил ошибки, в бухгалтерии теперь должно работать.
Выложена новая версия, теперь с возможностью загружать картинки
15. Igоr Sаulеviсh (gutentag) 24.01.12 16:07
В бухгалтерии-8.2 ред-2.0 работает!
Спасибо!
16. Petr (sevipa) 30.01.12 08:38
Хочу применить для загрузки заказов покупателей и данных по расчетам менеджеров для клиентов во внешней программе. вопрос можно ли сделать подобную обработку так чтобы структура загружаемого файла была не линейна (колонки) а имела бы более сложную структуру?
17. Святослав Ушаков (sacred) 30.01.12 11:55
Ваш вопрос слишком общий. Звучит как "можно ли сделать, чтобы обработка умела загружать файл ЛЮБОЙ структуры".
Скорее всего нет. Но если вы конкретизитруете типы структур, которые планируете загружать, может и получится что-нибудь придумать.
18. Денис неважно (kot_dn) 01.02.12 11:49
отличная обработка! спасибо автору за труды!
19. Игорь (_ink_) 01.02.12 12:17
Спасибо. Тоже хочу прикрутить к загрузке заказов от покупателей.
(16) sevipa, проще сделать екселевский файл одного вида. И через защиту ячеек заблокировать лишние движения. Потом потихоньку подсаживать клиентов на него. На прошлом месте работы таким образом запускал базу с 30-ю заказами в день. Через месяц все привыкли и присылали как нужно а не в произвольной форме.
20. Андрей Сериков (sai-2010) 08.02.12 21:40
Спасибо.
Нам очень пригодилась эта обработка.
Все отлично затянулось.
Автор молодец!
Удачи.
21. Макс С (MaksS) 20.02.12 09:31
Спасибо.
Обработка очень облегчила нам решение поставленной клиентом задачи.
Маленький нюанс.
При заполнении характеристик номенклатуры из шаблона
выдает ошибку, если данная номенклатура уже есть в справочнике
без признака возможности использования характеристик.
Не хватает команды записать после изменения этого признака.
22. Антон Цыкин (takeshi3) 27.02.12 12:43
24. amorhis (iotkin) 29.02.12 10:47
Спасибо автору. Очень пригодилась - как раз искал что-то подобное. Немного доделал - и теперь доволен :)
25. Ivan Migov (navi) 05.03.12 15:19
Пытаюсь доработать под себя конфигурацию:"
Розничная торговля.
Компания ПАЛТУСОВ
www.paltusov.ru (1.2.0.20) (622002, г.Нижний Тагил, Черных ул, 38.)
ИП Палтусов А.Н.
(1С:Франчайзи Компания ПАЛТУСОВ)"
Подскажите вашу обработку можно применять для загрузки номенклатуры и приходных накладных из файла DBF?
В файле присутствуют следубщие поля:
1 - код (id)
2 - Наименование
3- штрих код
4- количество
5 - закупочная цена
6 - розничная цена.
Заранее спасибо за ответ
26. Святослав Ушаков (sacred) 05.03.12 18:28
Конфигурацию "Розничная торговля" не знаю, и под неё не тестировал.
На самом деле проще попробовать и смотреть уже по месту и факту, если будут ошибки при загрузке.
27. Евген Сок (6630) 20.03.12 12:28
Спасибо огромное нужно много информаци перегрузить из екселя
28. анна79 (Анна79) 20.03.12 17:52
Нам очень пригодилась эта обработка.
Все отлично работает.
29. AtheistFD (N_aix) 22.03.12 13:47
Спасибо! Интересная обработка. Все работает.
30. Евгений (Evmil) 29.03.12 14:54
Если нужно загрузить ставку НДС, а она указана с %, то ломается. С ходу подправил так:

Функция НайтиСтавкуНДС(Ставка) Экспорт
Если ПустаяСтрока(Ставка) Тогда
Возврат Неопределено
КонецЕсли;
Если НРег(Лев(Ставка, 3))="без" Тогда
Возврат Перечисления.СтавкиНДС.БезНДС
Иначе
Поз = Найти(Ставка, ",");
Если Поз=0 Тогда
Поз = Найти(Ставка, ".");
КонецЕсли;
Если Поз=0 Тогда
Поз = СтрДлина(Ставка)+1;
КонецЕсли;
Ставка = СтрЗаменить(Ставка, "%", ""); // Милославов 29.03.2012

Возврат Вычислить("Перечисления.СтавкиНДС.НДС"+Лев(Ставка, Поз-1));
КонецЕсли;
КонецФункции // НайтиСтавкуНДС()
31. Андрей Жаворонков (andy_zhav) 02.04.12 15:40
Если б нашел эту обработку 2-мя днями ранее - сэкономил бы кучу времени на написании собственной. Надо будет лучше продумывать запросы в строке поиска инфостарта.
32. Alexey Pak (Alexey55) 12.04.12 16:22
подскажите какую скачивать? 2011 или 2012?
скачал 2012, запускаю с Управление торговлей 10.3
не смог разобраться как она работает.
может быть подскажите пожалуйста для каких конфигураций она подходит?
33. Alexey Pak (Alexey55) 12.04.12 16:43
Сори, я плохо прочитал описание! все работает отлично! спасибо огромное! +
34. Юрий (forurchik) 13.04.12 09:51
кстати очень удобная обработка загрузки ...мне очень помогла...
35. Святослав Ушаков (sacred) 13.04.12 10:48
Ваш комментарий не подкреплён плюсиком, поэтому возникают сомнения, действительно ли вам понравилась работа...
36. Игорь Баринов (CrazyDave) 23.04.12 15:04
(35) sacred, здравствуйте, что скажете по поводу вот такого поделия - http://infostart.ru/public/125392/ ?
37. Святослав Ушаков (sacred) 23.04.12 21:48
Неясно, кому и зачем это может понадобиться. Существует бесплатный com-объект microsoft.jet.oledb, встроенный во все Windows, начиная с Windows 2000, который позволяет без установленного Excel читать xls-файлы, а кроме этого и Access-файлы. Именно этот com-объект используется в моей обработке загрузки. Т.е. моя обработка не требует наличия Excel на компьютере для своей работы и не требует никакого дополнительного софта в виде сторонних dll.
38. Сергей Косенков (kosenkovsv) 24.04.12 19:08
А как сконвертировать обработку под 8.2?
39. Святослав Ушаков (sacred) 24.04.12 19:55
(38) kosenkovsv, Открыть её в Конфигураторе 8.2.
Но раз возникают такие вопросы, добавлю, что управляемой формы в обработке нет, соответственно под 8.2 её можно открыть только в толстом клиенте.
Кроме того, т.к. обработка внешняя, то открыть в толстом клиенте её можно только если он запущен в режиме обычного приложения.
Если нужно открыть её в управляемом приложении (только толстый клиент), то необходимо её вставить в конфигурацию , при этом конфигурация должна использовать и обычные и управляемые формы.
40. Сергей Косенков (kosenkovsv) 24.04.12 19:59
Извиняюсь, затупил. Уже разобрался с этим. Номенклатура загружается отлично, большое спасибо! Сейчас пытаюсь разобраться, как формировать приходные документы.
41. Сергей Косенков (kosenkovsv) 24.04.12 20:16
Всё, и с этим разобрался. Не заметил кнопки в правом нижнем углу. Еще раз огромное спасибо! Экономия времени и сил просто колоссальная.
42. Vasya Vas (razrazraz) 05.05.12 12:00
Здравствуйте.
Идея конечно интересная Но...............

Меня интересует практическая загрузка из Эксель(колонки код НЕТ , поиск производится по артикулу) в документ УТ 10.3 "Поступление товаров и услуг"
Вариант обработки без 1 (где элементы управления появляются после выполнения действий) работает находит все товары но при подключении его в качестве обработки заполнения табличных частей и выбора пункта "Очистить и Заполнить табличную часть"
выдает : Заполнение ТЧ не произведено!
Поле объекта не обнаружено (ОсновныеДействияФормыЗагрузитьДокумент)
В чём тут ошибка ?

Вариант обработки без 1 (все элементы управления располагаются на форме)
Там переделана система поиска и ОН работает по коду и артикулу даже если переключатель стоит только на артикуле
в итоге он ничего не находит в базе данных .

Подскажите пожалуйста как можно использовать 1й вариант (где возможен поиск по артикулу - когда я проверял его без подключения к документу он работал)
Спасибо.
43. Vasya Vas (razrazraz) 05.05.12 12:12
т.е. меня интересует та обработка которая ищет по артикулу (где поиск не переделан)
44. Андрей Оганян (Gasya) 10.05.12 23:05
Добрый вечер! Очень нужная обработка, но у меня на "Управление торговым предприятием для Украины", редакция 1.2.
при нажатии на кнопку - загрузить в базу - вылазит ошибка:

{Форма.Форма.Форма(523)}: Ошибка при вызове метода контекста (Записать)
ОбъНом.Записать();
по причине:
Значение поля "Код" не уникально

Во вложении скрин...
как это исправить?
Прикрепленные файлы:
45. Святослав Ушаков (sacred) 10.05.12 23:34
Вообще при создании новых позиций система автоматически назначает новый код.
Вопрос: если в вашей базе вручную создать новую позицию номенклатуры и НЕ ТРОГАЯ код, присвоенный автоматически записать эту позицию, запишется без ошибок? И какой код назначится?
46. Иван (Sairys) 12.05.12 13:04
Интересная обработка, будем тестировать, спасибо.
47. Vasya Vas (razrazraz) 12.05.12 13:16
Жду ответа на :

Заполнение ТЧ не произведено!
Поле объекта не обнаружено (ОсновныеДействияФормыЗагрузитьДокумент)
48. Eugeneer (Eugeneer) 13.05.12 11:54
49. Роман Ложкин (webester) 15.05.12 04:00
Интересное решение, будем посмотреть
50. Андрей Оганян (Gasya) 24.05.12 13:40
(45) sacred, спасибо с этим разобрался... но теперь, в процессе загрузки прайса, выдает:
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(375)}: Преобразование значения к типу Число не может быть выполнено
Возврат Число(СтрЗаменить(СтрЗаменить(СтрокаТаблицы[ИмяКолонки]," ", ""), "'", ""))
51. Святослав Ушаков (sacred) 24.05.12 14:51
(50) Gasya,
Ждите, в течении нескольких дней выложу новую версию, с исправленными ошибками и новыми возможностями.
52. Андрей Оганян (Gasya) 24.05.12 18:24
(51) sacred, жду, очень понравилась ваша обработка, какие изменения в обработке будут?
если есть время то хотелось бы, чтоб была возможность подкачивать картинки к товару, если указана ссылка на картинку в столбце "картинка товара"
53. Андрей Довбенко (savvato) 28.05.12 18:39
а описаниее номенклатуры можно сделать чтоб загружалось из екселя? Было бы удобно....Плюс поставил=)
54. Эдуард Корольков (advard) 03.06.12 00:35
Пробую запустить обработку в УТ_11 в варианте обычного приложения сначала вообще незапускалась, после того как сконвертировал под последний релиз программы выдала кучу ошибок приоткрытии.

Т.е. для УТ_11 варианта нет ?
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(32,4)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(39,5)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(77,4)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(80,5)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(90,6)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(147,5)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.ПриИзмененииСуммыТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, глЗначениеПеременной("глТекущийПользователь"));
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(150,5)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(166,5)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(168,6)}: Переменная не определена (ОбработкаТабличныхЧастей)
<<?>>ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(147,94)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
ОбработкаТабличныхЧастей.ПриИзмененииСуммыТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, <<?>>глЗначениеПеременной("глТекущийПользователь"));
55. Эдуард Корольков (advard) 03.06.12 01:05
Попробывал открыть в комплексной вроде всё нормально открылось но не понял или не нашёл как сформировать или указать группе строк родителя. т.е есть ли здесь возможность указать что в данной строке родитель.
56. Святослав Ушаков (sacred) 03.06.12 01:31
(54) advard,
Обработка загружает не только справочник Номенклатуры, но и табличные части документов.
Структура документов, а также процедуры общих модулей для работы с табличными частями в УТ10 и УТ11 абсолютно разные. Поэтому для загрузки в УТ11 данная обработка не годится.
(55) advard,
Почти готова новая версия, в которой будет возможность загружать из колонок любые реквизиты, в том числе и родителя. Надо пару дней для тестирования, и потом выложу здесь.
57. Эдуард Корольков (advard) 03.06.12 13:01
А нет в планах на основе этой обработки создать ещё одну версию для УТ-11. Всё таки УТ -11 уже многими используется и рано или поздно будет массовый переход. Да и по возможностям она шире.
58. Святослав Ушаков (sacred) 03.06.12 13:36
(57) advard,
Будет платежеспособный заказ - сделаю.
Я эту обработку за деньги делаю. Клиентам.
А тут выкладываю на пользу всем людям бесплатно. :)

На счёт УТ11 по возможностям шире - не так. Она просто другая.
В УТ10 есть много вещей, которые невозможно или очень сложно сделать в УТ11. Имеется ввиду стандартный функционал.
60. Михаил Анучин (mute) 21.06.12 01:19
Здравствуйте, столкнулся с некоторыми проблемами :
Ненайденые позиции номенклатуры были созданы но без штрихкодов,хотя поле штрихкод присутствует
Поиск по штрихкоду не работает выдает {(21,20)} Поле не найдено "Номенклатура.Штрихкод" ПО (Номенклатура .<<ШтрихКод = ТаблицаПоиска.ЗначениеПоиска) Поле штрихкод в файле excel числовое .
При попытке загрузить данные в документ "Установка цен номенклатуры" выдает ошибку "Поле объекта не обнаружено (Количество) подробно -{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(128)}: Поле объекта не обнаружено (Количество)
СтрокаТабличнойЧасти.Количество = Количество;

Добавление в файле excel столбца с количеством и добавление соответствующего поля ничего не меняет.
61. Гость 30.06.12 19:43
а когда будет новая версия?
AChelentano; +1 Ответить 1
62. Святослав Ушаков (sacred) 01.07.12 11:20
(60) mute, Штрихкоды не работают, это да. С количеством что-то странное, я с такой ошибкой не встречался. Вы точно скачали самую последнюю версию?
63. Святослав Ушаков (sacred) 01.07.12 11:22
(61) Гость, Новая версия вчерне готова. Там, кстати будут и штрихкоды, и подчинённые справочники. Но т.к. изменений много - она скорее похожа на бету. Отдана заказчику для тестирования, но пока у него нет времени. Вот он потестирует, я подправлю косяки и выложу сюда.
64. Гость 01.07.12 12:09
я думаю если Вы бетку выложите здесь, то от сообщества, мне кажется, Вы озывы получите быстрее.
66. Илья (ПиН) 15.08.12 13:26
хорошая обработка, плюсик поставил )))
68. Shade (Shade) 26.08.12 09:32
Спасибо, большое!
Очень полезная в хозяйстве обработина!
Спасибо, что бесплатная ;-)
69. Shade (Shade) 26.08.12 09:57
Правда столкнулся с проблемой:
{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(375)}: Преобразование значения к типу Число не может быть выполнено
Возврат Число(СтрЗаменить(СтрЗаменить(СтрокаТаблицы[ИмяКолонки]," ", ""), "'", ""))
У кого-то она уже возникала, кто-нибудь может поделиться методом решения?
Заранее спасибо!
70. Shade (Shade) 26.08.12 10:14
Прошу прощения, оказывается нужно удалить все иные строки в полученной таблицы, кроме тех, которые имеют в себе табличную часть! Тогда никакой ошибки не возникает.
71. Shade (Shade) 26.08.12 11:48
Но появилось еще два вопроса :-)
1.) Артикул вида "4 01 02 002" вообще не появляется как колонка, а измененный вручную в экселе вида "40102002" отображается в колонке как "40 102 002" и записывается в базу также.
2.) При добавлении во внешние формы и обработки заполнения табличных частей, при попытке вызвать ее из документа Поступление товаров и услуг, выдает ошибку
"Заполнение ТЧ не произведено!
Поле объекта не обнаружено (ОсновныеДействияФормыЗагрузитьДокумент)"
Что-то делаю не так?
72. Shade (Shade) 26.08.12 12:13
Также выяснил, что форматирование в 1 случае вызывается тогда, когда в Колонку попадает ИНН 12 символов сверху от табчасти.
73. Святослав Ушаков (sacred) 26.08.12 15:12
(71) Shade,
1) - а зашлите мне файлик с таким артикулом, я гляну.
2) - кто его знает, может и ошибка вкралась в очередную версию, посмотрю.
74. Shade (Shade) 26.08.12 16:25
http://www.nekludovo.ru/schet_461_ot_23.08.12-1.xls Не понял как тут в личку отправлять, вот он :)
В таком виде вообще не определяет артикул, а если убрать пробелы в артикулах тогда форматирует их как и ИНН с группировкой по три цифры с конца :)
75. Shade (Shade) 27.08.12 09:33
Новая версия, улучшенная и доработанная!!!!
Спасибо огромное! :-)
76. Святослав Ушаков (sacred) 27.08.12 21:49
(72) Shade, Да, проблема лежит где-то рядом. Суть такая: обработка загружает данные из Excel с помошью COM-объекта Windows ADODB.Recordset. В строчке с ИНН ячейка имеет тип "Число", и это первая заполненная ячейка в колонке. Эта тупая скотина (ADODB.Recordset) пытается всю колонку прочитать как число, и соответственно больше чисел не находит, проставляя нули.
Варианты:
1) исправлять файл вручную до загрузки.
2) добавить ещё один способ считывания из xls-файла.

По поводу 2 - не очень уверен, стоит ли. Т.к. другие способы будут работать медленнее, и потребуют наличия Excel на компе, а глюк такой встречается нечасто. Но подумаю.
77. Андрей Оганян (Gasya) 27.08.12 23:16
у меня в УТП для Украины, при загрузке прайса, 1с зависает и не откликается.... что делать?
78. Святослав Ушаков (sacred) 28.08.12 13:27
(77) Gasya, Смотреть в отладчике. Что именно происходит. Также, поскольку обработка использует некоторые функции Windows - попробовать запустиь её на ДРУГОМ компьютере.
79. Shade (Shade) 28.08.12 19:33
(76)Вариант 1 вполне годится, мне кажется не нужно что-то смотреть и как-то пытаться исправить, случай и правда очень редкий, как мне кажется.
Проблемы с загрузкой в таб. часть при вызове из документа данной обработки в новой ее версии нет, так что и она снимается :)

Но столкнулся с проблемой Базовой единицы измерения (Выбираем Из колонки, Далее назначаем колонку Бозавая ед. измерения > Наименование) После невозможно снять галку со столбца, то есть галка снимается а значение остается присвоено, но это мелочи :)

Спасибо еще раз за обработину!!!! Очень полезная
80. Святослав Ушаков (sacred) 28.08.12 20:22
(79) Shade, "галка снимается а значение остается присвоено," это не понял, можно подробнее? Или скриншот?
81. Shade (Shade) 29.08.12 16:15
Странно как-то сейчас пытаюсь повторить ситуацию, все нормально, а до этого внизу строчка есть (вроде статуса) там при выделенной колонке писалось Базовая единица измерения.Наименование; Базовая единица измерения.Полное наименование; Базовая единица измерения.Наименование; Базовая единица измерения.Наименование То есть галка не снималась.
Сейчас смотрю при выделении Наименования баз единицы, галка ставится и снимается. Понаблюдаю, скорее всего какие то мои действия привели к проявлению той ошибки.
Но у меня до сих пор не получается добавить баз ед. измерения новым позициям из колонки. Пишет, в сообщении "Задайте Базовая единица измерения!" Хотя мы ее задаем колонкой (Баз. ед. изм. Наименование) или как-то по другому нужно? Потому что в реквизитах справа, Базовая единица измерения все еще красная.
У меня УТ 10.3.17.4 на платформе 8.2.15.301
82. Святослав Ушаков (sacred) 29.08.12 17:50
(81) Shade, Про базовую единицу, действительно... Это ошибка.
83. Андрей Оганян (Gasya) 30.08.12 23:02
(78) sacred, я не разбераюсь в отладчике, а на другом ПК такая же проблема. Как можно устранить?
84. Святослав Ушаков (sacred) 31.08.12 16:47
(83) Gasya, А другие файлы тоже виснут? Или только один этот?
85. Андрей Оганян (Gasya) 31.08.12 17:04
(84) sacred, другие тоже виснут.
86. Святослав Ушаков (sacred) 31.08.12 19:25
(85) Gasya, Тогда шансов мало. Эта ошибка проявляется именно на вашей базе (не конфигурации, а именно на данных), не глядя, её практически нереально починить. Можно только надеятся, что в очередной версии она будет исправлена "заодно" с чем-нибудь при доработке механизмов обработки.
87. Андрей Оганян (Gasya) 31.08.12 22:01
(86) sacred, тоже самое происходит на ноуте на 1С:Предприятие 8.2 (8.2.15.310), а вот предыдущая версия нормально работает. Но только в ней вылазит ошибка когда пытаюсь создать документы или добавить товар в базу.
88. Святослав Ушаков (sacred) 01.09.12 13:57
(87) Gasya, См. моё предыдущее сообщение. Версия платформы тут вообще не при чём.
89. Андрей Оганян (Gasya) 01.09.12 19:04
(88) sacred, а Вы можете как то посмотреть?
90. Святослав Ушаков (sacred) 01.09.12 23:54
(89) Gasya, без вашей базы не получится. И время нужно, я сейчас весь в работе.
91. Андрей Оганян (Gasya) 02.09.12 16:14
(88) sacred, когда пытаюсь создать документ установка цен номенклатуры контрагентов вылазит ошибка:

{ВнешняяОбработка.ЗагрузкаНоменклатуры.МодульОбъекта(375)}: Преобразование значения к типу Число не может быть выполнено
Возврат Число(СтрЗаменить(СтрЗаменить(СтрокаТаблицы[ИмяКолонки]," ", ""), "'", ""))

может это быть из-за того что в колонке написано: есть, мало, много?

изменил есть, мало, много на 10. И теперь обработка говорит что не найдена колонка Количество, хотя она назначена.
92. Святослав Ушаков (sacred) 02.09.12 20:21
(91) Gasya, А зачем вам количество в Установке цен? Смотрите: обработка очень далека от идеала, пользуясь ей, вы ходите по минному полю. Поэтому не стоит совершать откровенно абсурдных действий (например назначать количество в документе, в котором нет количества), потому что обработка это не контролирует. Сожалею, но это так. Защиты от дурака нет, просто примите как данность, что обработка несовершенна и старайтесь настраивать её максимально логично.
P.S. Кстати, рад, что вам удалось решить проблему с зависанием при открытии файла.
93. Андрей Оганян (Gasya) 02.09.12 22:09
(92) sacred, я решил зависание путём использования прошлой версии (но хочется всё таки новую). А как же поступить если документ не создаётся без указания столбика количество?
94. Святослав Ушаков (sacred) 03.09.12 11:00
(93) Gasya, Использовать новую версию :) Или дождаться ещё более новую. Обработка не имеет каких-либо "секретов" или "тайного знания", необходимого для использования. Она просто имеет ошибки и корявую архитектуру. Ошибки исправляются, но не быстро. На этом сайте есть недорогие аналоги, для которых оказывается поддержка пользователей.
95. Святослав Ушаков (sacred) 03.09.12 11:02
(91) Gasya, Кстати, создавать документ установки цен напрямую обычно нет необходимости. Если указать соответствия колонкам Типов цен - при загрузке номенклатуры автоматически создастся документ установки цен.
96. Сергей Графчиков (Sergeant82) 03.09.12 11:41
Отличная вещь, но столкнулся с небольшой проблемой - один из тестируемых dbf-файлов читается кракозябликами - очевидная проблема с кодировкой, но найти где и как с этим бороться, к сожалению не смог... Гуглинг направил в сторону поиска КодировкаXBase, но тут эта фича, я так понял, не используется. Есть идеи?
97. Святослав Ушаков (sacred) 03.09.12 11:49
(96) Sergeant82, Идея такая: попросить меня, чтобы в следующей версии я включил возможность выбора кодировки для dbf. :)
98. Сергей Графчиков (Sergeant82) 03.09.12 12:02
(97) sacred, идея отличная, только к сожалению у меня нет времени ждать следующую версию =)Может хотя бы подскажете куда копать? Кстати, если верить WinDBFview, кодировка у всех файлов, которые я пробовал, одна - Dos (866), но, тем не менее, один файл не хочет со мной дружить =(
99. Святослав Ушаков (sacred) 03.09.12 12:44
(98) Sergeant82, Тогда совсем странно-странно... Мистика. Даже не могу предположить, как так может быть.
100. Сергей Графчиков (Sergeant82) 05.09.12 20:46
(99) sacred, так и пришлось делать свою обработку "НаОсновании" =) Сделал через XBase и все файлы отлично прожевались. Но в целом немало полезных идей подцепил, большое спасибо за обработку
101. Денис Саяпин (sdv88) 12.09.12 08:29
при открытии обработки пишет..

{Форма.Форма.Форма(627)}: Метод объекта не обнаружен (ЕстьТабЧастьДокумента)
		Если ОбщегоНазначения.ЕстьТабЧастьДокумента("Товары", МДок) Тогда


Комплексная автоматизация 1.1.23.3
102. Тима Осипов (net7wolf) 13.09.12 12:43
Все супер. ног в УТ 10.3 есть неудобства. (Может только для меня) но.
1 при загрузке штрих-кодов не создает ед. изм. приходится я сначала надо другой обработкой создать все штрих-кода, а потом заменить.
2 картинки пока не получилась загрузить.
<Основное изображение> просит выбрать реквизит <вид данных><наименование><имя файла> и т.д.
и что туда поставить?
103. Святослав Ушаков (sacred) 13.09.12 15:17
(102) net7wolf,
1. Приведите скриншот с настройкой.
2. Он ничего не просит. Обязательные реквизиты выделены розовым (см. встроенную справку). А вообще любые реквизиты надо заполнять по смыслу. Не я их придумал, это всё реквизиты справочников из конфы. Некоторые надо заполнять, некоторые нет. По смыслу.
104. Святослав Ушаков (sacred) 13.09.12 17:19
(101) sdv88, Поправил, но на КА этой версии не тестировал.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа