Работа в Microsoft Office и LibreOffice
LibreOffice can open and save documents in the Microsoft Office file formats, including Microsoft Office Open XML formats.
Открытие файла Microsoft Office
- Выберите команду Файл — Открыть . В LibreOffice, в диалоговом окне открытия файлов, выберите файл Microsoft Office.
. будет открываться в модуле LibreOffice
Microsoft Word, *.doc, *.docx
Microsoft Excel, *.xls, *.xlsx
Microsoft PowerPoint, *.ppt, *.pps, *.pptx
Сохранение как файл Microsoft Office
- Выберите команду Файл — Сохранить как .
- В списке поля Тип файла выберите формат файла Microsoft Office.
Сохранение документов в форматах Microsoft Office по умолчанию
- Choose LibreOffice — Preferences Tools — Options — Load/Save — General .
- В области Стандартный формат файла и параметры настройки ODF сначала выберите тип документа, а затем выберите тип файла для сохранения.
После этого при сохранении документа автоматически будет устанавливаться выбранный тип файла . Безусловно, остаётся возможность выбрать другой тип файла в диалоговом окне сохранения файла.
Открытие файлов Microsoft Office по умолчанию
- В Windows Explorer щёлкните правой кнопкой мыши по типу файла, который вы хотите назначить другому приложению.
- In the context menu, choose Open with — Choose another app .
- В списке приложений выберите ту программу, которая должна открывать этот тип файлов. Обязательно выберите «Всегда использовать эту программу». Если описанная операция не работает с вашей версией Microsoft Windows, откройте Справку вашей системы Microsoft Windows и прочитайте инструкции о том, как изменять ассоциации файлов.
Преобразование многих файлов Microsoft Office в формат OpenDocument
Мастер преобразования документов будет копировать и преобразовывать все файлы Microsoft Office в папке в документы LibreOffice с форматом файлов OpenDocument. Можно указать папку, которую нужно просматривать, и папку, в которой должны быть сохранены преобразованные файлы.
- Выберите команду Файл — Мастер — Преобразование документов , чтобы запустился мастер.
Работа в Microsoft Office и LibreOffice
За некоторыми исключениями, Microsoft Office и LibreOffice не могут запускать один и тот же код макроса. Microsoft Office использует код VBA (Visual Basic для приложений), а LibreOffice использует код Basic, основанный на среде LibreOffice API (интерфейс прикладного программирования). Несмотря на то, что язык программирования один и тот же, объекты и методы отличаются.
![]()
The most recent versions of LibreOffice can run some Excel Visual Basic scripts if you enable this feature at LibreOffice — Preferences Tools — Options — Load/Save — VBA Properties .
Если макрос используется в одном из приложений и есть желание использовать те же функциональные возможности в другом приложении, необходимо отредактировать этот макрос. Для этого следует загрузить в LibreOffice макрос, которые содержатся в файлах Microsoft Office, просмотреть и отредактировать его код в интегрированной среде разработки LibreOffice Basic IDE.
При загрузке документа можно сохранить или удалить VBA-макрос.
Откройте документ Microsoft Office, который содержит код макроса VBA. Измените только обычное содержимое (текст, ячейки, графические объекты), но не редактируйте макрос. Сохраните документ с типом файла Microsoft Office. Откройте файл в Microsoft Office, и VBA-макрос будет работать, как прежде.
Можно также удалить VBA-макрос из файла Microsoft Office при загрузке или сохранении.
- Choose LibreOffice — Preferences Tools — Options — Load/Save — VBA Properties to set the VBA macro handling of LibreOffice.
LibreOffice резко похорошел и научился работать с файлами новейшего Microsoft Office
Состоялся релиз очередной мажорной версии офисного пакета с открытым исходным кодом LibreOffice, который может рассматриваться в качестве бесплатной альтернативы знаменитому Microsoft Office. В числе значимых изменений LibreOffice 7.0 – полноценная работа с файлами MS Office 2013/2016/2019, поддержка Google Skia и Vulkan API, а также новые наборы пиктограмм по умолчанию, которые хорошо вписываются в визуальный дизайн графических интерфейсов macOS и Windows.
Новый LibreOffice
Некоммерческая организация The Document Foundation (TDF) выпустила очередное крупное обновление LibreOffice. Седьмой по счету мажорный релиз бесплатного офисного пакета предлагает улучшенную совместимость с форматами файлов конкурирующего Microsoft Office, обновления функциональности, визуальные улучшения, а также важные изменения «под капотом», не всегда заметные пользователю.
Сборки офисного пакета для ОС Windows (x64; Windows 7 SP1 и новее), Linux (x64; rpm, deb), macOS (10.10 и более поздние) доступны для скачивания с официального сайта проекта. Там же можно найти его исходный код, а также набор средств разработки (SDK).
По данным TDF, 74% изменений в код нового выпуска внесены разработчиками, которые представляют входящие в консультативный совет организации компании, к примеру, Collabora, Red Hat и CIB. Авторство 26% правок принадлежит независимым специалистам.
Совместимость с MS Office и новым стандартом ODF
С выходом LibreOffice 7.0 у пользователей появилась возможность сохранять документы в родном для Microsoft Office 2013/2016/2019 формате docx. Предыдущие версии пакета поддерживали экспорт в режиме совместимости с Office 2007.
Кроме того, стал возможен экспорт в файлы формата xlsx (Microsoft Excel) с именами листов (sheets) длиной более 31 символа, а также содержащие элемент управления checkbox (переключатель-галочка).
![]()
LibreOffice 7.0 для macOS получил новый набор иконок
Устранена «Ошибка недопустимого содержимого» (Invalid content error), которая могла возникать при открытии экспортированных файлов xlsx с фигурами из соответствующих галерей. Наконец, улучшен фильтр импорта/экспорта pptx (Power Point).
Новый LibreOffice поддерживает актуальную версию открытого формата документов OpenDocument 1.3 (ODF), в которую включены функции безопасности. В частности, теперь документы формата ODF можно заверять цифровой подписью, а их содержимое – шифровать с помощью ключей OpenPGP.
Поддержка Google Skia и API Vulkan
В LibreOffice 7.0 реализована возможность отрисовки текста, фигур и изображений с помощью графической библиотеки Google Skia вместо Cairo. Аппаратное ускорение теперь может осуществляться с использованием API Vulkan.
Визуальные улучшения
Добавлены новые темы значков. В macOS теперь по умолчанию будет использоваться тема Sukapura, цветовая схема которой приведена в соответствие с рекомендациями Apple.
В Windows же по умолчанию применяется тема Colibre, визуальный стиль которой теперь соответствует MS Offfice 365. Помимо нее «Отполирован» набор иконок Stifr. Удалена из дистрибутива тема Tango, однако ее по-прежнему можно установить в виде дополнения.

Тема значков Colibre теперь установлена по умолчанию в Windows-версии LibreOffice
Наконец, после выполнения новой установки перемещение любых панелей инструментов в приложениях из состава LibreOffice 7.0 по умолчанию заблокировано.
Функциональные изменения
В приложениях из офисного пакета теперь доступны новые галереи фигур, которые могут быть легко отредактированы и стилизованы пользователем: стрелки, диаграммы, блок-схемы, значки, символы и элементы компьютерных сетей.
Большинство шаблонов презентаций Impress приведено к более актуальному соотношению сторон экрана (16:9 вместо 4:3), некоторые из них получили поддержку стилей. В Impress наравне с графическим редактором Draw и текстовым процессором Writer реализована возможность преобразования текста в полупрозрачный.

Во Writer, Draw и Impress появилась поддержка полупрозрачного текста
В редактор таблиц добавлены новые функции – генераторы случайных чисел, а автосумма теперь вставляется по нажатию комбинации клавиш Alt и =.

Реализовано выделение установленных закладок прямо в тексте
Существенно улучшен «Навигатор» во Writer, реализовано выделение установленных закладок непосредственно в тексте, а также защита закладок и полей от изменения.
Несколько слов о проекте LibreOffice
LibreOffice является кроссплатформенным и свободно распространяемым на условиях лицензии MPL 2.0 (Mozilla Public License) офисным пакетом с открытым исходным кодом.
Представляет собой бесплатный аналог Microsoft Office. В качестве базового формата для хранения файлов использует OpenDocument Format (ODF), представляющий собой альтернативу Office Open XML, используемому корпорацией Microsoft. Несмотря на это, LibreOffice полностью поддерживает открытие и сохранение документов в форматах Microsoft Office (Word, Excel, Powerpoint и др).
Айдар Гузаиров, Innostage: Пора менять отношение отрасли к Bug Bounty
Безопасность

Разработка LibreOffice началась в 2010 г. на основе кода офисного пакета OpenOffice.org (сейчас Apache OpenOffice), принадлежащего корпорации Oracle и доставшегося ей от поглощенной в 2010 г. Sun Microsystems.
Часть независимых разработчиков проекта оказалась недовольна авторитарным руководящим стилем Oracle, в результате чего приняла решение основать TDF и под ее эгидой заняться развитием форка или ответвления проекта под другим именем и в соответствии с собственной стратегией. Oracle препятствовать этому не стала.
LibreOffice, в свою очередь, также породил множество форков, в том числе за авторством российских разработчиков.
Так, в ноябре 2019 г. CNews писал об исключении одного из таких продуктов – Alteroffice – из Единого реестра отечественного ПО Минкомсвязи. По словам участника рынка, знакомого с подоплекой удаления, офисный пакет сгубили не столько сами заимствования кода из открытого ПО, сколько прямое нарушение свободной лицензии на его использование. В Alteroffice якобы отсутствовали отсылки к реальному авторству элементов. Из-за этого «Алми партнер», разработчик продукта, утратил законное право на переработку LibreOffice и выпуска на его основе продуктов со сходными свойствами, но под собственной маркой.
Как пользоваться LibreOffice

В операционной системе Linux вы не сможете установить пакет Microsoft Office, то есть использовать программы Word или Excel не получится. Но есть отличная альтернатива – бесплатная программа LibreOffice, включающая множество похожих продуктов. С ее помощью можно создавать таблицы, текстовые файлы, презентации, рисунки и так далее.
Я расскажу, что представляет собой это приложение, и научу им пользоваться.
Как установить LibreOffice
LibreOffice практически не отличается от аналогичного продукта корпорации Microsoft. Точнее так – все, что в Office поставляется по отдельности, тут объединено в один сервис. Libre поддерживает и использует собственные форматы, шрифты, стили и так далее. Программа полностью совместима со всеми форматами, что используются в Microsoft Office.
LibreOffice входит в стандартные репозитории основных дистрибутивов Linux. Кроме того, пакет доступен для Windows и macOS.

Скачать программу для всех ОС можно на официальном сайте разработчика. Переходите на сайт, выбираете версию системы и язык. Загружаете инсталлятор, затем запускаете его, проходите все шаги и ждете, пока распаковка не закончится. После окончания сего процесса можете сразу же приступать к работе.
Один нюанс – установка в Windows может быть с автоматической или ручной настройкой. Во втором случае вы, конечно же, сможете убрать ненужные компоненты, а также дадите разрешение или запрет на ассоциацию с некоторыми файлами Microsoft Office. Ясное дело, при автоматической установке все ассоциации будут применены по умолчанию.
Если вы используете Линукс, то установить программу можно простой командой – открываете Терминал, потом вводите вот такой запрос:
sudo apt install libreoffice
Подтверждаете запрос вводом пароля и дожидаетесь окончания скачивания. После этого программа готова к использованию!
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Интерфейс LibreOffice
Что сразу хочется отметить у LibreOffice – то, что для создания документов разных форматов не приходится открывать разные приложения. После открытия просто выбираете нужный тип файла. Далее я буду описывать интерфейс программы в ОС Windows при создании текстовых файлов и таблиц.

Если говорить о текстовом редакторе, то внешне он мало чем отличается от того же Word. По стилю напоминает версию 2007 года. Здесь примерно похожее расположение инструментов, линейки, меню. Лишь часто используемые инструменты и функции у Libre перемещены в правую панель. Еще и шрифты по умолчанию стоят совсем другие, но изменить это легко.

При сохранении по умолчанию будет предлагаться формат Libre (ODF). Чтобы изменить его, необходимо выбрать нужный вам формат из выпадающего меню. Кстати, по устройству интерфейса версии на ОС Windows и Linux практически не отличаются, что отлично видно на скриншоте ниже (с дистрибутива Fedora).

Одна отличительная штука в LibreOffice мне сильно понравилась, и ее, можно сказать, нет в таком виде в Word – речь идет о навигаторе. В Либре он показывает, какие заголовки, таблицы, изображения, ссылки, гиперссылки, а также прочие составляющие есть в одном файле. Если мне надо быстро перейти к определенному изображению или комментарию, я смогу это сделать через навигатор. Ворд тоже имеет свой навигатор, но он сильно упрощен и показывает только заголовки, страницы, результаты поиска.

Кстати, если вы хотите закрыть документ, не выходя из приложения LibreOffice, нужно нажать не на привычный крестик, а на тот, что поменьше. У Linux он имеет похожее расположение, только иногда выделяется другим цветом, поэтому вы точно не запутаетесь.

Дальше посмотрим, как выглядит интерфейс при работе с таблицами. Думаю, сходств с Excel в данном случае еще больше. Возможностей для работы с формулами, форматирования, редактирования ничуть не меньше.

От себя скажу: программы Microsoft Office мне нравится тем, что рабочую панель можно откреплять и скрывать, тем самым освобождая пространство (я обычно работаю на половину экрана, мне так удобнее). В Libre же скрыть панель инструментов нельзя, только полностью убрать ее через меню «Вид». Это не очень удобно и несколько огорчает, ведь программа-то достойная.
Пока я копалась в настройках, назрел хороший вопрос – можно ли в программе одновременно создавать файлы нескольких типов? Еще как! Для этого нужно открыть меню «Файл», перейти к подпункту «Создать» и уже там выбрать подходящий формат.

Форматирование в LibreOffice
Как я уже говорила, в LibreOffice предусмотрены собственные стили форматирования документов и шрифты. Но базовые функции вроде выделения текста, изменения его цвета и выравнивания все же выделены в главном меню. Регулировать отступы и интервалы можно как с помощью линейки, так и через настройки.
Инструмент для работы со стилями тоже имеется, и выбрать подходящий можно несколькими способами – через выпадающее окно в меню или панель управления в правой части. Вы сможете использовать как любой из встроенных стилей, так и создать собственный.

Шаблоны для разных случаев жизни тоже предусмотрены. Для их просмотра потребуется перейти в менеджер – открыть раздел «Файл», затем перейти во вкладку «Шаблоны», выбрать «Управление шаблонами». Доступно несколько вариантов для текстовых файлов и презентаций. При желании вы сможете создать собственный шаблон и сохранить его в приложении.

Заголовки, оглавление, библиография
С разметкой заголовков тут проблем нет. Все как в Word – нужно выделить определенное предложение и применить к нему конкретный стиль. Но это вершина айсберга, ведь суть всего процесса сводится к составлению оглавления… Сразу скажу, работать в LibreOffice с оглавлением и библиографией в разы проще.
Итак, чтобы вставить в документ оглавление, необходимо перейти в раздел меню «Вставка», затем в подраздел «Оглавление и указатели», а там уже выбрать «Оглавление, указатель или библиография». В результате откроется окно, в котором вы сможете выбрать, что будете вставлять, дать заголовок, а также провести более подробную настройку, пройдясь по вкладкам. После этого остается только нажать на кнопку ОК, и оглавление будет вставлено.

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

Когда все данные будут внесены, вы сможете вставить список литературы или какой-то его элемент. Правда, последний будет в виде сокращенного идентификатора, который вы ввели ранее в базу данных.
Вставка изображений, диаграмм и таблиц
Вставлять изображения в документы, создаваемые в LibreOffice, можно несколькими способами – из буфера обмена, перемещением из папки сразу в файл, а также через меню. В последнем случае нужно будет открыть меню «Вставка», затем кликнуть по пункту «Изображение» и выбрать его в файловом менеджере.

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

Создать таблицу очень просто – необходимо кликнуть в панели инструментов по элементу «Вставить таблицу», выбрать требуемое количество строк и столбцов. То же самое, по сути, можно сделать через меню. Но у вас будет больше возможностей для добавления столбцов и строк, а также изменения оформления.

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

К сожалению, в текстовом редакторе LibreOffice (как и в Word) не предусмотрена возможность создания диаграммы на основе данных из готовой таблицы. Поэтому, если вы хотите создать диаграмму, лучше сначала создать ее, а затем отредактировать значения. Для начала потребуется перейти в раздел «Вставка», затем выбрать одноименный пункт. Диаграмма будет с рандомными значениями – чтобы изменить их, следует нажать на пункт «Таблица данных» в меню. Меняете по необходимости все значения, цветовые схемы, наименования элементов и применяете изменения.

Типов диаграмм тоже довольно много – есть круговые схемы, столбчатые, ленточные, пузырьковые, смешанные и так далее.

Интересно, что в табличном редакторе есть возможность создания диаграммы на основе уже введенных данных. Необходимо лишь выделить нужный фрагмент, затем в меню «Вставка» выбрать «Диаграмма». Далее просто выбираете подходящий формат.

Заключение
Может показаться, что LibreOffice является копией офисного пакета Microsoft. Отчасти это правда, но в этой программе есть куча своих функций, которые в Word или Excel не найти (о чем я говорила выше). Тем, кто переходит на это приложение с Microsoft Office, интерфейс сначала может показаться не самым удобным, но вы быстро к нему привыкните.
Как прочитать файл Excel,если установлен Libre Office
Написана обработка печати этикеток для склада с товарной накладной,которая приходит от поставщика в формате Excel. В режиме тестирования все прошло успешно.
А при сдаче программы на склад выяснилось,что там не установлен Excel(нет лицензии),а установлен Libre Office.
И программа навернулась при попытке прочитать файл с расширением xls.
Вот фрагментф кода:
По кнопке открыть файл работает:
Процедура КоманднаяПанельТабличногоДокументаОткрыть(Кнопка)
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбораФайла.Заголовок = «Прочитать табличный документ из файла»;
ДиалогВыбораФайла.Фильтр = «Лист Excel (*.xls)|*.xls|Табличный документ (*.mxl)|*.mxl|Текстовый документ (*.txt)|*.txt|dBase III (*.dbf)|*.dbf|»;
Если ДиалогВыбораФайла.Выбрать() Тогда
ТабличныйДокумент1 = ЭлементыФормы.ТабличныйДокумент1;
ФайлНаДиске = Новый Файл(ДиалогВыбораФайла.ПолноеИмяФайла);
Если нРег(ФайлНаДиске.Расширение) = «.xls» Тогда
ПрочитатьТабличныйДокументИзExcel(ТабличныйДокумент1,ДиалогВыбораФайла.ПолноеИмяФайла);
==========================
Функция ПрочитатьТабличныйДокументИзExcel(ТабличныйДокумент, ИмяФайла, НомерЛистаExcel = 1) Экспорт
xlLastCell = 11;
ВыбФайл = Новый Файл(ИмяФайла);
Если НЕ ВыбФайл.Существует() Тогда
Сообщить(«Файл не существует!»);
Возврат Ложь;
КонецЕсли;
Excel = Новый COMОбъект(«Excel.Application»);
И здесь программа ломается с ругательством:
: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
Excel = Новый COMОбъект(«Excel.Application»);
по причине:
Недопустимая строка с указанием класса
Как же выйти из этой ситуации? Не хотелось бы ломать отработанную схему. Может другой COMОбьект надо подключать?
По теме из базы знаний
- Загрузка из EXCEL в 1С. com.sun.star.ServiceManager (LibreOffice/OpenOffice)
- Загрузка из EXCEL в 1С. Список листов EXCEL
- Дата
- Дата
- Рейтинг всех уровней
- Рейтинг 1-го уровня
- Древо развёрнутое
- Древо свернутое
Свернуть все
2. Guyer 19 29.11.12 09:41 Сейчас в теме
У меня есть обработка, читает Excel при установленном OpenOffice
В Модуле обработки
Процедура LoadDocument(HiddenMode, FileName) Экспорт
Если ПустаяСтрока(FileName) = 1 Тогда
FilePath = «private:factory/scalc»;
Иначе
FilePath = convertToURL(FileName);
КонецЕсли;
MyStruct = ServiceManager.Bridge_GetStruct(«com.sun.star.beans.PropertyValue»);
VariantArray = Новый COMSafeArray(«VT_VARIANT», 1);
MyStruct.name = «Hidden»;
MyStruct.value = HiddenMode;
VariantArray.SetValue(0, MyStruct);
Document = Desktop.LoadComponentFromURL(FilePath, «_hidden», 0, VariantArray);
КонецПроцедуры // LoadDocument()
Процедура CloseDocument() Экспорт
Document.close(-1);
КонецПроцедуры
Функция convertToURL(FileName)
URL = СтрЗаменить(FileName,» «,»%20»);
URL = СтрЗаменить(URL,»\»,»/»);
Возврат «file://localhost/» + URL;
КонецФункции // convertToURL()
ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»);
Desktop = ServiceManager.createInstance(«com.sun.star.frame.Desktop»);
В Форме обработки
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
LoadDocument(1, ИмяФайла);
Sheets = Document.getSheets();
Sheet = Sheets.getByName(«Лист1»);
Sh = Sheet.getCellRangeByName(«A1:Z600»);
//Здесь Мой Диапазон
НС = 0;
Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Док.Дата = ДатаДок;
Док.Записать();
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Док.ЭтотОбъект, глТекущийПользователь, мВалютаРегламентированногоУчета, «Покупка»);
Док.Организация = Организация;
Док.Контрагент = Поставщик;
Док.ДоговорКонтрагента = Договор;
Док.СкладОрдер = Склад;
Док.ДатаВходящегоДокумента = ДатаДок;
Док.Дата = ДатаДок;
Док.НомерВходящегоДокумента = НомерДок;
Док.ТипЦен = ТипЦен;
Док.РегистрироватьЦеныПоставщика = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, «РегистрироватьЦеныПоставщика»);
Док.УстановитьНовыйНомер();
Док.ОтражатьВУправленческомУчете = Истина;
Док.ОтражатьВУправленческомУчете = Истина;
Док.ОтражатьВНалоговомУчете = Истина;
Для НС = НомерПервойСтроки По НомерПоследнейСтроки Цикл
ЯчТовар = Sh.getCellByPosition(НомерСтТовар-1, НС-1);
ЯчТоварНаим = Sh.getCellByPosition(НомерСтНаим-1, НС-1);
ЯчКоличество = Sh.getCellByPosition(НомерСтКоличество-1, НС-1);
ЯчСумма = Sh.getCellByPosition(НомерСтСумма-1, НС-1);
ЯчНДС = Sh.getCellByPosition(НомерСтНДС-1, НС-1);
ЗначИдТовара = СтрЗаменить(Формат(ЯчТовар.String,»ЧРГ = ‘+'»),»+»,»»);
ЗначНаимТовара = Строка(ЯчТоварНаим.String);
НайденнаяСсылка = НайтиНоменклатуру(ЗначИдТовара); // Справочники.Номенклатура.НайтиПоРеквизиту(«Артикул»,ЗначИдТовара);
если НайденнаяСсылка.Пустая() ТОгда
// пробуем взять артикул из квадратных скобок наименования
Стр = ЗначНаимТовара;
ПозОткрСкобки = Найти(Стр,»[«);
ПозЗакрСкобки = Найти(Стр,»]»);
Если (ПозОткрСкобки>0) И (ПозЗакрСкобки > 0) И (ПозЗакрСкобки > ПозОткрСкобки) Тогда
Артикул2 = Сред(Стр,ПозОткрСкобки+1,(ПозЗакрСкобки-ПозОткрСкобки-1));
НайденнаяСсылка = НайтиНоменклатуру(Артикул2); //Справочники.Номенклатура.НайтиПоРеквизиту(«Артикул»,Артикул2);
ЗначИдТовара = Артикул2;
КонецЕсли;
КонецЕсли;
если НайденнаяСсылка.Пустая() ТОгда
ТекстВопроса = «Артикул: «+ЗначИдТовара+», наименование «+ЗначНаимТовара+»:
|товар не найден в справочнике Номенклатура.
|Создать новый элемент? ДА — создать, НЕТ — выбрать из справочника.
|Если элемент не будет выбран, элемент будет создан автоматически.»;
если Вопрос(ТекстВопроса,РежимДиалогаВопрос.ДаНет )=КодВозвратаДиалога.Нет Тогда
// выбираем
ВвестиЗначение(НайденнаяСсылка,»»+ЗначИдТовара+» «+ЗначНаимТовара+»?»,тип(«СправочникСсылка.Номенклатура»));
КонецЕсли;
если НайденнаяСсылка.Пустая() ТОгда
СпрНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
СпрНоменклатура.Наименование = ЗначНаимТовара;
СпрНоменклатура.НаименованиеПолное = ЗначНаимТовара;
СпрНоменклатура.Артикул = ЗначИдТовара;
СпрНоменклатура.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(1);
СпрНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
СпрНоменклатура.Записать();
ЕХО = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
ЕХО.Владелец = СпрНоменклатура.Ссылка;
ЕХО.Коэффициент = 1;
ЕХО.ЕдиницаПоКлассификатору = СпрНоменклатура.БазоваяЕдиницаИзмерения;
ЕХО.Наименование = ЕХО.ЕдиницаПоКлассификатору.Наименование;
ЕХО.Записать();
СпрНоменклатура.ЕдиницаХраненияОстатков = ЕХО.Ссылка;
СпрНоменклатура.Записать();
НайденнаяСсылка = СпрНоменклатура.Ссылка;
КонецЕсли;
Иначе
Если (НайденнаяСсылка.Родитель.Наименование=»01″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»02″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»03″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»04″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»05″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»06″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»07″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»08″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»09″) ИЛИ
ЛЕВ(НайденнаяСсылка.Родитель.Наименование,2)=»10″ ИЛИ
ЛЕВ(НайденнаяСсылка.Родитель.Наименование,2)=»11″ ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»12″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»Детское питание») ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»Каша молочная») ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»15″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»16″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»17″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»19″) ИЛИ
(НайденнаяСсылка.Родитель.Наименование=»18″)
Тогда
Иначе
ТекстВопроса = ЗначНаимТовара+»
|совпадает с
|»+НайденнаяСсылка+»
|
|Да — Использовать найденное, НЕТ — выбрать из справочника.
|Если элемент не будет выбран, элемент будет выбран автоматически.»;
если Вопрос(ТекстВопроса,РежимДиалогаВопрос.ДаНет )=КодВозвратаДиалога.Нет Тогда
// выбираем
ВвестиЗначение(НайденнаяСсылка,»»+ЗначИдТовара+» «+ЗначНаимТовара+»?»,тип(«СправочникСсылка.Номенклатура»));
КонецЕсли;
КонецЕсли;
КонецЕсли;
// сертификат и № КУ
ЗначСертификат =0;
ЗначКУ = 0;
ЗначДР = 0;
ЗначДВ = 0;
если НомерСтолбцаСертификат>0 Тогда
ЯчСертификат = Sh.getCellByPosition(НомерСтолбцаСертификат-1, НС-1);
ЗначСертификат = Строка(ЯчСертификат.String);
КонецЕсли;
если НомерСтолбцаКУ >0 Тогда
ЯчКУ = Sh.getCellByPosition(НомерСтолбцаКУ-1, НС-1);
ЗначКУ = Строка(ЯчКУ.String);
КонецЕсли;
если НомерСтолбцаДР > 0 Тогда
ЯчДР = Sh.getCellByPosition(НомерСтолбцаДР-1, НС-1);
ЗначДР = Строка(ЯчДР.String);
КонецЕсли;
если НомерСтолбцаДВ > 0 Тогда
ЯчДВ = Sh.getCellByPosition(НомерСтолбцаДВ-1, НС-1);
ЗначДВ = Строка(ЯчДВ.String);
КонецЕсли;
Набор = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
Набор.Отбор.Объект.Установить(НайденнаяСсылка);
// сертификат
если ЗначениеЗаполнено(ЗначСертификат) Тогда
спрЗначСертификат = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ЗначСертификат);
СсылкаСертификат = спрЗначСертификат.Ссылка;
если спрЗначСертификат.Пустая() Тогда
спрЗначСертификат = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
спрЗначСертификат.Владелец = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду(«00112»);
спрЗначСертификат.Наименование = ЗначСертификат;
спрЗначСертификат.Записать();
СсылкаСертификат = спрЗначСертификат.Ссылка;
Конецесли;
тСвойство = глПоНаименованию(«СвойстваОбъектов»,»Сертификат»);
Запись = лкПолучитьЗаписьНабора(Набор, НайденнаяСсылка, тСвойство);//Набор.Добавить();
Запись.Объект = НайденнаяСсылка;
Запись.Свойство = тСвойство;//глПоНаименованию(«СвойстваОбъектов»,»Сертификат»);
Запись.Значение = СсылкаСертификат;
Набор.Записать();
КонецЕсли;
// КУ
если ЗначениеЗаполнено(ЗначКУ) Тогда
тСвойство = глПоНаименованию(«СвойстваОбъектов»,»Качественное удостоверение»);
Запись = лкПолучитьЗаписьНабора(Набор, НайденнаяСсылка, тСвойство);//Набор.Добавить();
Запись.Объект = НайденнаяСсылка;
Запись.Свойство = тСвойство;
Запись.Значение = ЗначКУ;
Набор.Записать();
КонецЕсли;
// Дата реализации
если ЗначениеЗаполнено(ЗначДР) Тогда
тСвойство = глПоНаименованию(«СвойстваОбъектов»,»Дата реализации»);
Запись = лкПолучитьЗаписьНабора(Набор, НайденнаяСсылка, тСвойство);//Набор.Добавить();
Запись.Объект = НайденнаяСсылка;
Запись.Свойство = тСвойство;//глПоНаименованию(«СвойстваОбъектов»,»Дата реализации»);
Запись.Значение = ЗначДР;
Набор.Записать();
КонецЕсли;
// Дата выработки
если ЗначениеЗаполнено(ЗначДВ) Тогда
тСвойство = глПоНаименованию(«СвойстваОбъектов»,»Дата выработки»);
Запись = лкПолучитьЗаписьНабора(Набор, НайденнаяСсылка, тСвойство);//Набор.Добавить();
Запись.Объект = НайденнаяСсылка;
Запись.Свойство = тСвойство;
Запись.Значение = ЗначДВ;
Набор.Записать();
КонецЕсли;
ЗначКолво = Число(ЯчКоличество.Value);
ЗначСумма = ЯчСумма.Value;
ЗначНДС = ЯчНДС.Value;
СтрокаТабЧасти = Док.Товары.Добавить();
СтрокаТабЧасти.Номенклатура = НайденнаяСсылка;
СтрокаТабЧасти.ЕдиницаИзмерения = НайденнаяСсылка.ЕдиницаХраненияОстатков;
СтрокаТабЧасти.ЕдиницаИзмеренияМест = НайденнаяСсылка.ЕдиницаХраненияОстатков;
СтрокаТабЧасти.Коэффициент = НайденнаяСсылка.ЕдиницаХраненияОстатков.Коэффициент;
СтрокаТабЧасти.Количество = ЗначКолво;
СтрокаТабЧасти.Сумма = ЗначСумма;
СтрокаТабЧасти.СуммаНДС = ЗначНДС;
СтрокаТабЧасти.СтавкаНДС = НайденнаяСсылка.СтавкаНДС;
СтрокаТабЧасти.Склад = Склад;
ОбработкаТабличныхЧастей.ПриИзмененииСуммыТабЧасти(СтрокаТабЧасти, Док.ЭтотОбъект, глТекущийПользователь);
Сообщить(«Загружена строка «+СтрокаТабЧасти.НомерСтроки);
КонецЦикла;
Док.Записать();
Сообщить(«Записан документ «+Док.Ссылка);
CloseDocument();
КонецПроцедуры