Компютри Windows интернет

Счетоводна информация. Счетоводна информация 1s документ с електронна таблица, прочетено в excel 95

Повечето организации в ежедневната си практика използват софтуерния продукт Excel от офис пакета на Microsoft, за да следят различни счетоводни операции по стария начин. Това се случва, когато една компания наскоро премина към системата 1C и секциите за отчитане все още не са правилно отстранени или доставчикът предпочита да изпрати ценова листа под формата на обобщена таблица във формат .xls. Не е изненадващо, че често има нужда от замяна на ръчно въвеждане на позиции с автоматизирана система. Това значително ще намали времето за попълване на номенклатурни документи и ще намали броя на грешките, което е важно да се има предвид, когато става дума за няколко десетки или дори стотици позиции.


Този проблем може да бъде решен по различни начини: някои организации предпочитат да поверят тази работа на своя ИТ отдел, други наемат разработчици, работещи в компанията на франчайзополучателя, но това е доста скъпо и отнема много време.


Много по-изгоден изход от тази ситуация би било използването на подходяща конфигурация 1C, която ще обработва данните абсолютно безплатно и ще се превърне в универсален помощник при интегрирането на 1C документи и електронни таблици на Excel.


В този раздел ще ви помогнем да разберете как да конфигурирате зареждането на данни от .xls файл в една от софтуерните конфигурации от компанията 1C, базирана на „1C:Enterprise 8“


Всеки потребител на професионалната версия на 1C:Enterprise 8 вече има такава обработка! Е на диск!

Типична обработка „Зареждане на данни от табличен документ.epf“, разположена в раздела: „Технологична поддръжка“> „Методологическа поддръжка 1C: Enterprise 8“> „Универсални отчети и обработка“>

D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument Изтегляне


Моля, обърнете внимание, че от февруари 2010 г. на ITS диска тази обработка за конфигурации на платформа 8.1 се намира в друг раздел: „Технологична поддръжка“ > „Методологическа поддръжка 1C:Enterprise 8“ > „1C:Enterprise 8.1 платформа“ > „Универсална отчети и обработка" > "Зареждане на данни от документ с електронна таблица".

D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument Изтегляне


Налични изходни данни:

  • Ценова листа в Excel “PriceOnlineKhimSnab.xls” - Microsoft Office Excel 97-2003 (.xls)
  • Типична конфигурация Enterprise Accounting Edition 2.0, версия 2.0.12.2, платформа 8.2 (8.2.10.77)
  • Необходимо е да заредите имена на продукти и цени в 1C от Excel


От ценовата листа трябва да изтеглите справочника на артикулите в 1C: Счетоводство 8.

Стартираме програмата 1C. За да започнете обработката, изберете елемента от менюто "Файл"> "Отвори".

В прозореца, който се отваря, намираме файла за обработка

Намира се на ITS диска в директорията \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

Ако преди това сте копирали обработващия файл на вашия компютър, можете да го изберете.


Ще се отвори прозорец


Моля, имайте предвид, че зареждането на данни ще се извърши на два етапа: Етап 1 - зареждане на имена и задаване на стойностите на детайлите на новите елементи на директорията, необходими за започване (мерна единица, ставка на ДДС, атрибут на продукт/услуга). Етап 2 - зареждане на цени.

Зареждат се заглавия

Задайте „Режим на изтегляне“ - Качете в директорията „Изглед на директория“ - Номенклатура

В раздела „Табличен документ“.

Кликнете върху бутона ex1_b01.jpg „Отваряне на файл“, в прозореца за избор, който се показва, намираме директорията, в която имаме ценова листа в Excel, от която планираме да заредим данни в 1C.


Файлът може да не се появи първоначално. Задайте типа на файла на „Excel Sheet (*.xls)“


Изберете нашия файл



Показват се детайлите на картата на артикула.

Настройка на опции за зареждане на заглавия

Искаме да насочим вниманието ви към аспекта на разпознаването на структурни единици на номенклатурните справочници в 1C: Счетоводна програма версия 8, тъй като един от ключовите моменти при идентифицирането на тези елементи е името. Ако позициите в информационната база не са били първоначално попълнени, тогава ще трябва да проследите дублиращи се позиции и, ако има такива, да ги изтриете.


Дублиращи се имена е трудно да се избегнат; особено трудно е за служителите, които ще използват този тип зареждане не за еднократно въвеждане на данни в списъка, а за систематично автоматично зареждане на информация.


Въпросът се усложнява от факта, че служителят трябва да се справя с различни съкращения и други съкращения, двойно изписване на името и използване на различни препинателни знаци.


При многократна употреба и значително количество изтеглена информация препоръчваме да използвате друг софтуер от серията „1C: Enterprise 8“, например „1C: Управление на търговията 8“, „1C: Управление на малки фирми 8“ или „1C: Интегриран Автоматизация 8”, които имат параметър „Артикул”, който осигурява надеждно разпознаване на данните, заредени в номенклатурни справочници и елиминира възможността за дублиране на имена.


Ред „Базова мерна единица“ - в колоната „Режим на зареждане“ изберете „Инсталиране“, в колоната „Стойност по подразбиране“ изберете мерната единица (в нашия случай - бр.)


Ред „Ставка на ДДС“ - в нашия случай за всички изтеглени елементи задаваме ДДС на 18%, за това в колоната „Режим на зареждане“ избираме „Задаване“, в колоната „Стойност по подразбиране“ избираме „18%“.


Ако стоките идват с различно ДДС, което е посочено в отделна колона на изтегления ценоразпис, тогава в колона „Режим на зареждане” задайте „Търсене” и номера на съответната колона ценоразпис в „Колона № на документ с електронна таблица”.

Ред „Услуга“ - в колоната „Режим на зареждане“ изберете „Инсталиране“, в колоната „Стойност по подразбиране“ изберете „Не“ (в нашия случай всички позиции са продукти).


Задали сме минималните стойности за нови артикули в номенклатурната директория, което ще ви позволи да започнете работа. За да затворите месеца, да разпределите разходите, да генерирате счетоводна и данъчна отчетност, ще трябва да зададете стойностите „Група артикули“ и „Разходна позиция“; за внесени стоки задайте „Страна на произход“ и „Номер на митническа декларация“ , но това може да се направи по-късно чрез групова обработка.


Ако сте готови да зададете стойностите на тези подробности сега, тогава посочете. Щракнете върху „Изтегляне“ в долния десен ъгъл, щракнете върху „Да“, когато бъдете попитани



Проверяваме наличието на нови елементи в съответната група от справочника на артикулите

Отворете продуктовата карта и проверете дали данните са заредени правилно


Ако всичко е правилно, можете да преминете към втория етап - зареждане на цените от ценовата листа в Excel.


Ако планирате да използвате тази процедура за зареждане на данни в бъдеще със същите настройки на параметрите за зареждане, препоръчваме ви да запазите текущите настройки. За да направите това, щракнете върху бутона ex1_b03.jpg „Запазване на настройките“ и ясно наименувайте текущата настройка, например „Зареждане на имена на продукти от ценовата листа на Excel“.


Следващият път можете да заредите запазените настройки, като щракнете върху бутона „Възстановяване на настройките“ и изберете желаната от списъка.

Цените се зареждат

В “Enterprise Accounting” Rev. 2.0 цените се задават с помощта на документа “Setting Item Prices”.

Задайте „Режим на зареждане“ - „Зареждане в раздел таблица“.

В полето „Връзка“ изберете „Задаване на цени на артикули“.


Тук можете да изберете съществуващ документ, в който искаме да добавим нови елементи, или да създадете нов (препоръчително), в документа посочваме кой „Тип цена“ ще заредим (в нашия пример „Търговия на дребно“).


Кликнете върху „Ok“ и запазете празния документ за сега. Сега изберете този нов записан документ от дневника в реда „Връзка“. В полето „Таблица“ изберете „Продукти“

Сега трябва да отидете в раздела „Табличен документ“.

Отново изберете нашата ценова листа в Excel, от която сме изтеглили артикулите, и сега ще изтеглим цените (виж точка 5).

В 1C има 2 начина за работа с файлове на MS Excel: чрез COM обект и вградени инструменти на 1C, използващи обект на документ от електронна таблица. Нека разгледаме и двата метода по-подробно.

1. Работа чрез COM обект.

Този метод изисква инсталиран MS Excel и ако работите с файл на сървъра, MS Excel трябва да бъде инсталиран на сървъра, ако е на клиента, тогава MS Excel се изисква и от страна на клиента.

Пример (можете да го видите в текстов вид в края на статията):

Трябва да се отбележи, че всички обекти, методи и свойства, предоставени от COM обекта "Excel.Application", са обекти, методи и свойства на VBA, езика за програмиране на MS Office.

Забележка:

Понякога трябва да работите със съществуващ шаблон. След това трябва да съхраним този шаблон някъде, така че всички необходими потребители да имат достъп до него. Има обаче по-просто решение, запишете шаблона като двоично оформление.

2. Работа с табличен документ 1C.

Документът с електронна таблица 1C поддържа формата на MS Excel за запис, започвайки от платформа 8, но за отваряне само от платформа 8.3.6. Освен това, когато се отвори, всички листове се зареждат в един документ с електронна таблица. От версия 8.3.10 при зареждане различни листове се зареждат като различни области.

Примерен запис е много прост и не изисква специално внимание:

Тук обаче имаме проблем. Когато записвате от 1C в работна книга на Excel, показването на имена на листове е деактивирано по подразбиране.

Този проблем може да бъде решен по 2 начина, 1 - в самата книга, активирайте показването на листове в настройките (не всички потребители ще се съгласят да направят това), 2 - направете това чрез COM обект (отново се нуждаем от инсталиран MS Excel ).

След тази малка добавка етикетите на листа ще бъдат видими във файла на MS Excel.

Четенето на MS Excel не е толкова лесна задача, тъй като методът за четене е достъпен само на сървъра или дебелия клиент. За да направим това, трябва да прехвърлим MS Excel файла на сървъра.

&На клиент

Процедура CreateDocument()

Изключение

EndAttempt;

Книга = Excel.WorkBooks.Add(); //Създаване на нова работна книга на MS Excel

Sheet = Book.WorkSheets.Add(); //Добавяне на лист

Sheet.Name = "Пример от 1C"; //Задайте името на листа

Sheet.Cells(1,1).Value = "Нека създадем формула";!}

Sheet.Cells(2,1).Value = 1;

Sheet.Cells(2,2).Value = 2;

Sheet.Cells(2,3).Formula = "=A2+B2";

Sheet.Cells(3,1).Value = CurrentDate();

Book.SaveAs("C:\1\Test.xlsx");

Book.Close();

Край на процедурата

&На сървъра

Функция GetLayoutServer()

Върнете FormAttributesValue("Object").GetLayout("TemplateForUpload"); //По този начин получаваме оформлението на външната обработка;

EndFunction

&На клиент

Процедура Работа()

Excel = Нов COMObject("Excel.Application");

Изключение

Доклад ("Опитът за свързване на компонента на Excel беше неуспешен. Excel може да не е инсталиран на този компютър!");

EndAttempt;

Оформление = GetLayoutServer();

Layout.Write(TemporaryFileName);

Имате въпрос или нужда от помощ от консултант?

Книга = Excel.WorkBooks.Open(TemporaryFileName);

SheetTemplate = Book.WorkSheets(1);

SheetTemplate.Cells(6,1).Value = "Дата:";!}

SheetTemplate.Cells(6,2).Value = CurrentDate();

SheetTemplate.NumberFormat = "дд/мм/гг;@"; // Дайте формата на датата, този формат е получен чрез запис на макрос в MS Excel

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // Разтегнете колоната, така че датата да пасне точно

Book.SaveAs(Име на файл);

Book.Close();

Край на процедурата

&На клиент

Край на процедурата

&На клиент

Процедура WriteTabularDocument()

TabularDocument = Нов табличен документ();

TabularDocument.Area("R1C1").Text = "Пример за запис в MS Excel от 1C";

TabularDocument.Write("C:\1\Test2.xls",TabularDocumentFileType.XLSX);

Excel = Нов COMObject("Excel.Application");

Excel.WorkBooks.Open("C:\1\Test2.xls");

Excel.Visible = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0,6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

Край на процедурата

BinaryData = Нови двоични данни ("C:\1\test2.xlsx");

Address=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier)​;

TabularDocument = UploadOnServer(Address);

TabularDocument.Show();

Край на процедурата

&На сървъра

Функция UploadOnServer(Address)

TemporaryFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTemporaryStorage(Address);

FileData.Write(TemporaryFileName);

TabularDocument = Нов табличен документ();

върнете TabularDocument;

Този метод е прост. Същността му е, че обектът Табличен документима методи:

  • Записвам (< ИмяФайла>, < ТипФайлаТаблицы >) за качване на данни във файл;
  • Прочети (< ИмяФайла>, < СпособЧтенияЗначений >), за да заредите данни от файл.

внимание!

Методът Write() е наличен както на клиента, така и на сървъра. Методът Read() е достъпен само от страната на сървъра. Трябва да запомните това
когато планирате взаимодействие клиент-сървър.

Нека да разгледаме пример за запазване на документ с електронна таблица във файл. Необходимо е да създадете и попълните обекта TabularDocument по всякакъв начин и разтоварванекъм файла се извършва само с един ред:

TabDoc . Write(FilePath, TabularDocumentFileType. XLSX);

Тук TabDoc- генериран документ с електронна таблица, Пътят до файла— име на файла за качване, TabularDocumentFileType.XLSX— формат на създадения файл. Поддържат се следните Excel формати:

  • XLS95 - Excel 95 формат;
  • XLS97 - Excel 97 формат;
  • XLSX е формат на Excel 2007.

TabDoc = Нов табличен документ;
TabDoc . Read(PathToFile, Метод на ReadingTabularDocumentValues.Value);

Тук Пътят до файла— път до изтегления Excel файл. Метод за четене на стойности на табличен документ. Стойностопределя как трябва да се интерпретират данните, прочетени от изходния документ. Налични опции:

  • Значение;
  • Текст.

Обмен чрез OLE

Обменът чрез OLE технология за автоматизация е може би най-разпространената опция за програмна работа с Excel файлове. Той ви позволява да използвате цялата функционалност, предоставена от Excel, но е по-бавен в сравнение с други методи. За обмен чрез OLE е необходима инсталация на MS Excel:

  • На компютъра на крайния потребител, ако обменът се извършва от страна на клиента;
  • На сървърния компютър на 1C:Enterprise, ако обменът се извършва от страната на сървъра.

Пример разтоварване:

// Създаване на COM обект
Excel = Нов COMObject("Excel.Application");
// Деактивиране на предупреждения и въпроси
Excel . DisplayAlerts = False;
// Създаване на нова книга
Книга = Excel. Работни тетрадки. Добавяне();
// Позиция на първия лист
Лист = Книга. Работни листове(1);

// Записване на стойност в клетка
Лист . Клетки (номер на ред, номер на колона). Стойност = Стойност на клетката;

// Запазване на файла
Книга . SaveAs(Име на файл);


Excel . Изход();
Excel = 0;

Примери четене:

// -- ОПЦИЯ 1 --

// Създаване на COM обект
Excel = Нов COMObject("Excel.Application");
// Отворете книга
Книга = Excel. Работни тетрадки. отворено( Пътят до файла);

Лист = Книга. Работни листове(1);

// Затваряне на книгата
Книга . Затвори(0);

// Затворете Excel и освободете памет
Excel . Изход();
Excel = 0;

// —— ВАРИАНТ 2 ——

// Отворете книга
Книга = GetCOMObject( Пътят до файла);
// Позициониране върху желания лист
Лист = Книга. Работни листове(1);

// Прочетете стойността на клетката, обикновено тук се намира цикълът за обхождане на клетката
CellValue = Лист. Клетки (номер на ред, номер на колона). Стойност;

// Затваряне на книгата
Книга . Приложение. Qui T();

За Околовръстен пътЗа всички попълнени редове на работния лист на Excel можете да използвате следните техники:

// -- ОПЦИЯ 1 --
Брой редове = лист. Клетки (1 , 1 ). Специални клетки (11). ред;
За RowNumber = 1 по брой редове Цикъл
CellValue = Лист. Клетки (номер на ред, номер на колона). Стойност;
EndCycle;

// —— ВАРИАНТ 2 ——
номер на ред = 0;
Докато цикълът на истината
Номер на ред = Номер на ред + 1;
CellValue = Лист. Клетки (номер на ред, номер на колона). Стойност;
Ако НЕ е ValueFilled(CellValue) Тогава
Прекъсване;
endIf;
EndCycle;

Вместо да преминавате през всички редове на листа последователно, можете изхвърлете всички данни в масиви работи с него. Този подход ще бъде по-бърз при четене на голямо количество данни:

Общо колони = лист. Клетки (1 , 1 ). Специални клетки (11). Колона;
Общо редове = Лист. Клетки (1 , 1 ). Специални клетки (11). ред;

Регион = Лист. Диапазон (Лист. Клетки (1, 1), Лист. Клетки (Общо редове, Общо колони));
Данни = Регион. Стойност. Разтоварвам();

Таблицата по-долу показва най-популярните свойства и методи за работа с Excel чрез OLE:

Действие Код Коментар
Работа с приложението
Настройка на видимостта на прозореца на приложението Excel . Видими= невярно;
Настройка на режима на извеждане на предупреждение (показване/не показване) Excel . DisplayAlerts= невярно;
Затваряне на приложението Excel . Изход();
Работа с книга
Създаване на нова книга Книга = Excel. Работни тетрадки. Добавете();
Отваряне на съществуваща работна книга Книга = Excel. Работни тетрадки. Отворете (Име на файл);
Запазване на книга Книга . SaveAs(Име на файл);
Затваряне на книгата Книга . Затвори(0);
Работа с лист
Настройка на текущия лист Лист = Книга. Работни листове (Номер на лист);
Задаване на името Лист . Име = Име;
Настройка на защита Лист . Защитете();
Премахване на защитата Лист . Премахване на защитата();
Задаване на ориентация на страницата Лист . Настройка на страницата. Ориентация = 2; 1 - портрет, 2 - пейзаж
Задаване на лявата граница Лист . Настройка на страницата. LeftMargin = Excel. Сантиметри до точки (сантиметри);
Задаване на горната граница Лист . Настройка на страницата. TopMargin = Excel. Сантиметри до точки (сантиметри);
Задаване на правилната граница Лист . Настройка на страницата. RightMargin = Excel. Сантиметри до точки (сантиметри);
Задаване на долната граница Лист . Настройка на страницата. BottomMargin = Excel. Сантиметри до точки (сантиметри);
Работа с редове, колони, клетки
Задаване на ширина на колона Лист . Колони (ColumnNumber). ColumnWidth = Ширина;
Изтриване на ред Лист . Редове (Номер на ред). Изтрий();
Премахване на колона Лист . Колони (ColumnNumber). Изтрий();
Изтриване на клетка Лист . Клетки (номер на ред, номер на колона). Изтрий();
Задаване на стойността Лист . Клетки (номер на ред, номер на колона). Стойност = Стойност;
Сливане на клетки Лист . Диапазон (Лист. Клетки (Номер на ред, Номер на колона), Лист. Клетки (Номер на ред1, Номер на колона1)). Обединяване();
Настройка на шрифта Лист . Клетки (номер на ред, номер на колона). Шрифт. Име = Име на шрифта;
Задаване на размера на шрифта Лист . Клетки (номер на ред, номер на колона). Шрифт. Размер = Размер на шрифта;
Задаване на удебелен шрифт Лист . Клетки (номер на ред, номер на колона). Шрифт. Удебелен = 1 ; 1 - получер, 0 - нормален
Задаване на курсив Лист . Клетки (номер на ред, номер на колона). Шрифт. Курсив = 1 ; 1 - курсив, 0 - нормален
Настройка на подчертания шрифт Лист . Клетки (номер на ред, номер на колона). Шрифт. Подчертайте = 2 ; 2 - подчертано, 1 - не

За да разберете кое свойство трябва да бъде променено или кой метод да извикате, можете да използвате макроси Excel. Ако запишете макрос с необходимите действия, след това можете да погледнете VBA кода на записания макрос.

Използване на COMSafeArray

Когато изтегляте големи количества данни от 1C в Excel, можете да използвате обекта за ускоряване COMSafeArray. Според дефиницията от асистента за синтаксис, COMSafeArray е обвивка на обект над многоизмерен масив SafeArrayот COM. Позволява ви да създавате и използвате SafeArray за обмен на данни между COM обекти. Просто казано, това е масив от стойности, които могат да се използват за обмен между приложения, използващи OLE технология.

// Създаване на COMSafeArray
ArrayCom = Нов COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// Попълване на COMSafeArray
За Страница = 0 по TotalLines - 1 цикъл
За Брой = 0 Общо колони - 1 цикъл
ArrayCom . SetValue(брой, страница, стойност);
EndCycle;
EndCycle;
// Присвояване на област на работен лист на Excel към стойности от COMSafeArray
Лист . Диапазон (Лист. Клетки (1, 1), Лист. Клетки (Общо редове, Общо колони)). Стойност = ArrayCom;

Обмен чрез ADO

Един Excel файл, когато се обменя чрез ADO, е база данни, която може да бъде достъпна чрез SQL заявки. Не е необходима инсталация на MS Excel, но трябва да имате ODBC драйвер, с който ще се осъществява достъп. Използваният ODBC драйвер се определя чрез посочване на низа за свързване към файла. Обикновено необходимият драйвер вече е инсталиран на компютъра.

Обменът чрез ADO е значително по-бърз от обмена чрез OLE, но при качване не е възможно да се използва функционалността на Excel за проектиране на клетки, оформление на страници, задаване на формули и т.н.

Пример разтоварване:


Връзка = Нов COMObject("ADODB.Connection");


Съединение . ConnectionString = "

|Източник на данни=" + Име на файл + ";
;
Съединение . Отваряне(); // Отваряне на връзка

// Създаване на COM обект за командата
Команда = Нов COMObject("ADODB.Command");
Екип

// Присвояване на команден текст за създаване на таблица
Екип . CommandText = „СЪЗДАВАНЕ НА ТАБЛИЦА [Лист1] (Колона1 char(255), Колона2 дата, Колона3 int, Колона4 float)“;
Екип . Изпълни(); // Изпълнение на командата

// Присвояване на команден текст за добавяне на ред в таблица
Екип . CommandText = "INSERT INTO [Sheet1] (Column1, Column2, Column3, Column4) стойности ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Изпълнение на командата

// Премахнете командата и затворете връзката
Команда = Недефинирана;
Съединение . Близо();
Връзка = Недефинирана;

За да създадете нов лист и да оформите неговата структура, можете да използвате обекти ADOX.КаталогИ ADOX.Таблица. В този случай кодът ще изглежда така:

// Създаване на COM обект за работа с книгата
Книга = Нов COMObject("ADOX.Catalog");
Книга . ActiveConnection = Връзка;

// Създаване на COM обект за работа със структурата от данни на листа
Таблица = Нов COMObject("ADOX.Table");
Таблица . Име = "Лист1" ;
Таблица . Колони. Добавяне ("Колона1", 202);
Таблица . Колони. Добавяне ("Колона2", 7);
Таблица . Колони. Добавяне ("Колона3", 5);
Таблица . Колони. Добавяне ("Колона4", 5);

// Създаване на лист с описаната структура в работната книга
Книга . Маси. Добавяне (Таблица);
Таблица = Недефинирана;
Книга = Недефинирано;

В горния пример, в метода

Таблица . Колони. Добавете(„Колона 1“, 202);

вторият параметър определя типа колона. Параметърът не е задължителен, ето някои стойности на тип колона:

  • 5 - adDouble;
  • 6 - рекламна валута;
  • 7 - adDate;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Пример четене:

// Създайте COM обект за връзката
Връзка = Нов COMObject("ADODB.Connection");

// Задайте низа за връзка
Съединение . ConnectionString = "
|Доставчик=Microsoft.ACE.OLEDB.12.0;
|Източник на данни=" + Име на файл + ";
|Разширени свойства=""Excel 12.0 XML;HDR=ДА"";";
Съединение . Отваряне(); // Отваряне на връзка

// Създайте COM обект, за да получите селекцията
Изберете = Нов COMObject("ADODB.Recordset");
RequestText = „ИЗБЕРЕТЕ * ОТ [Sheet1$]“;

// Изпълнение на заявката
проба . Open(QueryText, Connection);

// Заобикаляне на примерния резултат
Все още няма селекция. EOF() цикъл
Стойност на колона1 = Избор. Полета. Елемент ("Колона1"). Стойност ; // Достъп по име на колона
Column2Value = Избор. Полета. Артикул (0). Стойност; // Достъп чрез индекс на колона
проба . Преместване на следващия();
EndCycle;

проба . Близо();
Пример = Недефиниран;
Съединение . Близо();
Връзка = Недефинирана;

В низа за свързване параметърът HDRопределя как ще се възприема първият ред на листа. Възможни опции:

  • ДА - първият ред се третира като имена на колони. Стойностите могат да бъдат достъпни по име и индекс на колона.
  • НЕ - първият ред се третира като данни. Стойностите могат да бъдат достъпни само чрез индекс на колона.

Тези примери обхващат само няколко ADO обекта. Обектният модел ADO се състои от следните обекти:

  • Връзка;
  • командване;
  • набор от записи;
  • запис;
  • полета;
  • поток;
  • Грешки;
  • параметри;
  • Имоти.

Качване без програмиране

За да запазите данни от 1C в Excel, не винаги е препоръчително да прибягвате до програмиране. Ако в режим Enterprise потребителят може да покаже данните, необходими за изтегляне, те могат да бъдат записани в Excel без програмиране.

За да запишете документ с електронна таблица (например резултат от отчет), можете да извикате командата Запазванеили Запази като…главно меню.

В прозореца, който се отваря, трябва да изберете директорията, името и формата на записания файл.

За да запазите данни от динамични списъци (например списък с елементи), трябва:

  1. Изведете данни в документ с електронна таблица с помощта на командата Още ⇒ Списък...;
  2. Запазете документа с електронната таблица в необходимия формат.

Конфигурация: 1в счетоводство

Версия на конфигурацията: 3.0.44.177

Дата на публикуване: 20.01.2017

Програмата 1C: Счетоводна програма вече предлага възможност за рутинно качване и изтегляне на данни от електронни таблици на Excel, без използването на обработка или промени в конфигурацията на трети страни. Товаренето и разтоварването е толкова лесно, че опитните потребители бързо ще се влюбят в този удобен механизъм, а новите потребители бързо ще го овладеят.

Изтеглете от Excel 1C: Счетоводство 8.3 изд. 3.0

Например, имаме този документ с електронна таблица на Excel за зареждане на списък с артикули и цени (продажба на дребно и покупка).

Ела .

В горната част кликнете Номенклатура и цени - Изтегляне. Тук е скрито зареждането и разтоварването от документи с електронни таблици.

Изтеглянето поддържа xls (стар формат на Excel 97-2003) и xlsx (нов формат), както и формати mxl и ods. Сега избираме нашия файл с номенклатурата и чакаме да се зареди.

Документът с електронната таблица е зареден във формата, в която го видяхме в Excel, сега нека зададем колони и да изтрием ненужните.

Кликнете върху Моля, предоставете подробностии изберете желания елемент от списъка.

Изберете реда, който съдържа ненужни записи, а именно заглавката на таблицата, и щракнете Изтриване на ред.

Сега изтриваме колоната с покупната цена, имайте предвид това обработката може да попълни само 1 вид цена наведнъж!!!След това можете да извършите тази операция отново и да заредите 2-ри тип цена, за 1-во зареждане Retail за 2-ра покупка.

Попълнете празните данни Тип цена Задайте цени за. Бутоните Всички, Намерени, Нови, Дубликати ще улеснят значително търсенето и ще помогнат за сравняването на артикулите. Попълнете и щракнете Изтеглислед което данните ще бъдат заредени в 1C: Счетоводство.

Появиха се нови артикули в продуктовата листа, попълнени и с зададени цени. Ако трябва да заредите друг тип цена, направете всички стъпки отново, но изберете колона с различна цена, 1C сам ще намери вече създадени позиции и няма да се опита да ги дублира, а просто ще добави нов тип цена.

Както можете да видите, изтеглянето създаде 2 документа за определяне на цените на артикулите, за покупната цена и за цената на дребно. Разликата между това лечение е Зареждане от Excel в 1C: Счетоводство 8.3,Факт е, че това е стандартна обработка и работи без грешки и отчита всички характеристики на попълването на документа.

Качване в Excel от 1C: Счетоводство 8.3 изд. 3.0

Много полезна функция в издание 3.0.44.177 и по-висока е качването в Excel от 1C: Счетоводство 8.3; тази обработка ще ви помогне да създадете ценова листа на фирмата или да прехвърлите вашия списък с артикули на доставчици или купувачи незабавно с цени.

Всичко го има в указателя Номенклатура - Номенклатура и цени - Разтовари.

В точка Колони, изберете колоните, които трябва да бъдат изградени в документа на Excel. Изборслужи за избор на елементи по групи, свойства, имена... и т.н.

За да качим в Excel, ще добавим нова колона, а именно ставката на ДДС, изглежда не е много необходимо, но се упражняваме.

Как да заредите документ с електронна таблица в счетоводната програма 1C 8.3?

В 1C 8.3 е възможно групово изтегляне на списък с елементи от документ с електронна таблица, например от файл на Excel.

За зареждане използваме външна обработка LoadDataFromTabularDocument.epf за управлявани формуляри (8.2 и 8.3). Той е универсален и трябва да е подходящ за всяка конфигурация, написана за управлявано приложение.

За да започнете външна обработка, трябва да отидете в менюто „Файл“, след това „Отвори“ и да изберете тази обработка от директорията, в която е била запазена:

Обработка Зареждане на данни от документ с електронна таблица 1C 8.3 (управляеми форми)

След като обработката се отвори в 1C, можете да започнете да работите с нея. На първо място, трябва да решим къде и какво ще изтеглим:

Да дадем пример в справочника "Номенклатура". Създаваме файл с данни в xls формат.

Обработката може също да зарежда файлове в следния формат:

  • всеки друг формат, от който можете да копирате данни

Ето как изглежда Excel файлът с изходните данни, който ще качим в справочника „Номенклатура”:

Не записахме всички полета в директорията, тъй като това ще бъде достатъчно, за да разберем принципа на зареждане. Освен това тези данни са достатъчни, за да започнете работа с тези позиции.

Тези позиции в момента не са в информационната база данни на 1C и сега ще ги качим там.

Щракнете върху иконата „Отваряне“ (обозначена на фигурата като „Избор на източник“) и изберете файла с данните. Можете да използвате просто копиране на информация. Данните ще бъдат заредени в обработката автоматично. Сега нека проверим дали сме попълнили данните си правилно. За да направите това, щракнете върху бутона „Контрол на пълнене“.

Както можете да видите, имаме някои грешки! Ще го елиминираме. Отидете в раздела „Настройки“:

Преди да коригираме грешките, нека обърнем внимание на един важен детайл. Програмата първоначално не знае в кое поле да търси елемент от директория, в случай че той вече е там. Следователно тя трябва да го посочи. Например търсим по код, тъй като той обикновено е уникален. В колоната „Поле за търсене“ в реда „Код“ поставете отметка. Сега, ако се намери запис с такъв код, той ще бъде заменен, в противен случай ще бъде създаден.

важно! Ако не посочите поле за търсене, може да се появят дублирани елементи. Особено след второто изтегляне на подобен файл!

Сега да видим защо "Единство" ругае на терена. Факт е, че мерните единици в 1C 8.3 се съхраняват в отделна директория и обработката по подразбиране търси тази единица по име. Но всъщност словната единица е написана в полето „Пълно име“.

За съжаление обработката може да търси само по „Име“ и „Код“ (за програмиста възможностите са по-широки). Ако обърнете внимание на снимките по-горе, ще видите, че в колоната „Единица“ има код. И при обработката трябва да посочите, че търсенето трябва да се извърши по код. Щракнете двукратно върху колоната „Условие на комуникация“ срещу „Единици“ и я променете на „Код“.

Сега нека видим какво ни казват за „Услуга“ в списъка с грешки. Още една важна забележка. Колоните във файла трябва да са разположени строго в същия ред като редовете на полетата на директорията. А за нас „Тип артикул“ се намира най-долу и във файла след колоната „Коментар“.

За да преместите реда „Тип артикул“ нагоре, в горната част на формата има сини стрелки. С помощта на стрелката „Нагоре“ повдигнете желания ред и го поставете под „Коментар“.

Кликнете върху „Зареждане на данни“ и този път всичко върви без грешки:

По материали от: programmist1s.ru