Импорт из Excel

Тема в разделе "1C и всё что с ней связано", создана пользователем roddik, 4 авг 2008.

  1. roddik

    roddik Гость

    Привет! Нужно стандартизировать накладные, которые приходят на мыло в xls-е, и ввести их базу. Вопрос в том, как это правильно реализовать, создать новый документ было бы наверное неправильно, хотелось бы добавить кнопочку, которая бы вызывала формочку, в формочке выбирался бы экселевский файл, данные с него как-то обрабатывались бы и открывалась формочка создания новой накладной, с уже вбитыми данными, каким-то образом распарсенные из файла, чтобы далее проверить правильность разбора и подтвердить-провести. Как можно это сделать? Спасибо! ЗЫ: в 1с я новичек
     
  2. gorlanovmax

    gorlanovmax Well-Known Member
    1C Team

    Регистрация:
    19 июн 2008
    Сообщения:
    286
    Симпатии:
    0
    Если Вы новичек, то за это лучше не хвататься. Много нюансов
     
  3. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    проблем-то с импортом глобальных нет. Остается только сесть и сделать. Но по моему опыту, во внешних файлах чаще всего прибывают приходные-расходные накладные или их аналоги. Тогда первый вопрос - как привязать товар к уже имеющемуся справочнику (поиск по наименованию вряд ли сработает корректно). Да и вообще, нюансов много, как сообщил предыдущий оратор, но все они легко обходятся (к примеру, в дробных числах почти наверняка придется при чтении менять формат, иначе число получится обрезанным и т.п.).
    PS. А новичок в 1С все же должен учиться при задании вопроса конкретизировать задачу, хотя бы платформу указать - высший пилотаж ?
     
  4. roddik

    roddik Гость

    да, да, приходные-расходные-налоговые накладные и счета-фактуры надо тянуть, хотя, думаю, это мне по силам, я только с 1с недавно познакомился, есть кое-какой опыт в вба, и более-менее солидный в пхп/перле, сорри, что не указал версию (она 7.7), тогда еще не знал, что есть отличия в языке... в общем, спасибо за ответ, будем работать:)
     
  5. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Справишься, и уже можешь не считать себя совсем новичком
     
  6. roddik

    roddik Гость

    В продолжение... Дали несколько примеров входных файлов, сразу поубавилось оптимизма :rolleyes: В общем, они все разного типа, то есть могут быть в нескольких приходных накладных в разных ячейках данные, может быть вообще разное количество ячеек (бух-дизайн :rolleyes: ), может быть несколько данных (например, номер и дата) как в одной, так и в нескольких ячейках. Теперь вот сижу думаю как это все правильно вынуть, выдумал два варианта: 1. парсить ячейки в коде программы, тут все более-менее ясно, кроме такой детали: некоторые умельцы шлют в накладной данные в надписях, а не в ячейках, то есть вариант "посмотреть тип, потом слева прочесть значение" вроде как отпадает - надписи разбросаны в произвольном порядке, брать что-ли расположение на экране как-то и смотреть самую подходящую надпись, ну это тот еще геммор 2. отрыть буху окошко с экселевской страницей, чтобы он по порядку клацнул мышкой по нужным местам (скажем сделать окошечко с "нажмите на номер документа" и т.д.), это вроде будет попроще, но вот каким образом это делать, как подгружать нужные реквизиты при выборе типа документа и т.д., что-то совсем смутно ... что бы вы посоветовали делать?
     
  7. Hryv

    Hryv Гость

    Пусть вносят сразу в 1С
     
  8. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    roddik
    Мне тоже кажется - нада нах посылать с такими запросами! или пусть все типизируют или проще пускай ручками все забивают в програму
     
  9. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    roddik
    Не пытайтесь автоматизировать хаос. Получите автоматизированный хаос! Для начала наведите порядок - типизируйте файлы или заставьте сразу вносить в 1С.
    ОФФ: был недавно в Литве - вот где раздолье для автоматизаторов! Типизация электронных документов сделана на уровне государства, т.е. принят стандарт, в котором описаны все варианты электронных документов.
     
  10. roddik

    roddik Гость

    Спасибо за советы) объяснился с начальством, сделал в экселе шаблоны документов, так что сейчас все на порядок проще. Появилось несколько вопросов: 1. Хочу в результате импорта данных открывать формочку создания нужного документа с заполненными полями, чтобы можно было просмотреть и нажать на ок, если все нормально. Как открывать форму создания документа и в нее вписывать данные? 2. Как вообще правильно писать под 1с? Я привык к тому, что есть IDE, натворил чето, нажал f5 - попробовал, как работает, в крайнем случае запустил из браузера... пока только знаю, что запустить можно, если сохранить конфигурацию, открыть 1с и там нажать куда надо :)
     
  11. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    После считывания данных из EXCEL можно сохранить их в таблице значений, которая располагается на экране. Если последует подтверждение, сформировать табличную часть (скорее всего, в шапке трудно ошибиться) методом ЗагрузитьТабличнуюЧасть(ТЗ)
     
  12. roddik

    roddik Гость

    Все-таки намереваюсь попытаться полностью заполнять формочку, нашел функцию открытьформу, она принимает объект вида документ, сейчас думаю, в документе нужны ссылки на обьекты из справочника, при поиске по наименованию в справочнике, как достать ссылку на найденный обьект? или просто присвоить аттрибуту документа обьект справочника - и сработает?
     
  13. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    а в документе там и так все типы обычно проставлены. Если нет - нужно будет назначать тип. Просто создавай объект - документ, заполняй его данными, а уже после этого если нужно показывай юзеру. Хотя если много документов - я бы не показывал. Пусть потом сами заходят и смотрят и правят что надо.
     
  14. roddik

    roddik Гость

    Ок, а когда я заполняю документ, если некоторый реквизит есть в номенклатуре, к примеру, поставщик, я ведь должен ему скормить объект соответствующего типа, а не строку с именем, правильно? Так вот, если тот нужный объект ищется в справочнике, как из объекта справочника вытянуть ссылку на последний найденный? Сейчас прописал Спр.ПолучитьЭлемент(), кз, получится ли...
     
  15. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    СПР.НайтиПонаименованию() или СПР.НайтиПоРеквизиту() спасет отца русской демократии
     
  16. Christine

    Christine Гость

    У меня данная задача реализована через внешнюю обработку.
    Пользователь на закладке настроек указывает колонки листа excel - "товар", "количество", "цена", "сумма", а так же с какой строки начинается табличная часть с товарами и какой заканчивается.
    Далее лист обрабатывается и данные выводятся в ТЗ этой же обработки, где колонки "товар" две - одна - товар из файла, а другая - товар из справочника. Товар ищется по наименованию - если не найден, то колонка "товар из справочника" остается пустой и ее нужно заполнить вручную.
    То есть пользователю нужно вручную установить соответствие номенклатуры. (У нас один и тот же товар покупается у разных поставщиков и привести его наименование к единообразию не предоставляется возможным).
    Затем по кнопке данные переносятся в документ.
     
Загрузка...

Поделиться этой страницей