Разработка в 1С 8.0

         

Движения без субконто


Самой простой тип запросов ? получение детальных записей регистра. Для этого используется основная таблица-источник регистра бухгалтерии.

Обратите внимание, что для небалансовых измерений и ресурсов, а также для счета существуют поля с добавлением «Дт» и «Кт», например, ВалютаДт:

 

ВЫБРАТЬ

Период,             //дата и время записи  

Регистратор, НомерСтроки,   //документ и номер строки  

Организация,          //балансовое измерение Организация  

СчетДт, СчетКт,       //счета дебета и кредита  

Сумма,             //балансовый ресурс Сумма  

ВалютаДт, ВалютаКт,       //небалансовое измерение Валюта  

ВалютнаяСуммаДт, ВалютнаяСуммаКт,    //небалансовый ресурс  

КоличествоДт, КоличествоКт,       //небалансовый ресурс Количество  

ВалютнаяСумма

ЖО             //реквизит записи ЖО  

ИЗ РегистрБухгалтерии.Основной

Результат запроса представлен ниже:

Заметьте, что эта таблица не предоставляет информацию о субконто. Для этого предназначена следующая таблица.





Движения с указанием субконто


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

Это реализуется в следующем запросе:

ВЫБРАТЬ

Период,             //дата и время записи  

Организация,          //балансовое измерение Организация  

СчетДт, СчетКт,       //счета дебета и кредита  

Сумма,             //балансовый ресурс Сумма  

ВидСубконтоДт1, СубконтоДт1,//вид и значение субконто 1 по дебету  

СубконтоДт2,          //субконто 2 по дебету  

СубконтоКт1 , СубконтоКт2, //субконто 1 и 2 по кредиту  

КоличествоДт КолДт, КоличествоКт КолКт, //небалансовый ресурс  

Количество

ЖО             //реквизит записи ЖО  

ИЗ РегистрБухгалтерии.Основной.ДвиженияССубконто

Результат запроса представлен ниже:



ДвиженияССубконто


Доступ к записям регистра бухгалтерии с учетом субконто.  

Является расширением предыдущей таблицы.  

 



Измерения


Организация  

балансовый  

Тип: СправочникСсылка.Организация  

Валюта  

небалансовый  

Тип: СправочникСсылка.Валюты.  

Только для признака учета - Валютный  



Корреспонденция


В традиционном для стран СНГ бухгалтерском учете для балансовых счетов поддерживается корреспонденция. Это означает, что каждая проводка имеет дебет и кредит, причем сумма проводки по дебету равна сумме по кредиту, например, проводка Дт20 Кт70 на сумму 1000 руб.

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

В 1С: Предприятии 8.0 есть два типа регистров бухгалтерии:

·с поддержкой корреспонденции (обязательно указывается дебет и кредит каждой проводки),  

·без поддержки корреспонденции (у каждой проводки есть вид движения ? дебет или кредит).  


Измерения и ресурсы в регистре бухгалтерии могут быть балансовыми или небалансовыми. По балансовым измерениям и ресурсам подсчитываются общие итоги (баланс) и поддерживается принцип двойной записи. А для небалансовых измерений и ресурсов реализовано раздельное хранение данных по дебету и кредиту, например, ВалютаДт и ВалютаКт (небалансовое измерение Валюта), ВалСуммаДт и ВалСуммаКт (небалансовый ресурс ВалСумма). Такой принцип хранения увеличивает гибкость автоматизированной системы для отражения хозяйственных операций при учете и планировании.



Оборотно-сальдовая ведомость


Оборотно-сальдовая ведомость показывает остатки на начало и конец периода и обороты за период. Ее можно легко сформировать, используя виртуальную таблицу ОстаткиИОбороты:

 

ВЫБРАТЬ

Счет КАК Счет,  

СуммаНачальныйОстатокДт КАК НачОстДт,  

СуммаНачальныйОстатокКт КАК НачОстКт,  

СуммаОборотДт КАК ОборотДт,  

СуммаОборотКт КАК ОборотКт,  

СуммаКонечныйОстатокДт КАК КонОстДт,  

СуммаКонечныйОстатокКт КАК КонОстКт  

ИЗ

РегистрБухгалтерии.Основной.ОстаткиИОбороты(&НачДата,&КонДата)  

УПОРЯДОЧИТЬ ПО

Счет.Код  

ИТОГИ  СУММА(НачОстДт), СУММА(НачОстКт),

СУММА(ОборотДт), СУММА(ОборотКт),  

СУММА(КонОстДт), СУММА(КонОстКт)  

ПО Счет  


Обратите внимание на параметры виртуальной таблицы НачДата и КонДата. Они задают определенный период, за который формируется оборотно-сальдовая ведомость.

Результат представлен в виде сводной таблицы:

Таким образом, регистры бухгалтерии являются универсальным средством учета движений материальных средств на основе определенного плана счетов. С помощью запросов можно получать информацию из регистров бухгалтерии в различных разрезах, с подсчетом промежуточных итогов, группировками и т.д. Поэтому механизмы бухгалтерского учета системы 1С:Предприятие 8.0 могут применяться для любой схемы ведения бухгалтерского и управленческого учета, а также для решения задач планирования и управления.



Обороты


 

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

 



Обороты между счетами


Отчет, показывающий обороты между счетами, можно сформировать на основе таблицы Обороты, используя поля Счет и КорСчет:

ВЫБРАТЬ

ОсновнойОбороты.СчетКАК Счет,  

ОсновнойОбороты.КорСчет КАК КорСчет,  

ОсновнойОбороты.СуммаОборот КАК СуммаОборот  

ИЗ

РегистрБухгалтерии.Основной.Обороты КАК ОсновнойОбороты  

УПОРЯДОЧИТЬ ПО

Счет.Код, КорСчет.Код  

ИТОГИ СУММА(СуммаОборот) ПО

Счет,  

КорСчет  

Результат запроса приведен ниже:

Таблица Обороты также предоставляет поля Субконто и КорСубконто для того, чтобы получать обороты по субконто или между субконто.

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



Обороты по счетам


Сформируем отчет, который покажет дебетовые и кредитовые обороты по счетам в разрезе организаций. Это можно сделать с использованием таблицы Обороты, задействуй поле Счет и измерение Организация.

Следующий запрос это демонстрирует:

ВЫБРАТЬ

ОсновнойОбороты.Счет КАК Счет,  

ОсновнойОбороты.Организация КАК Организация,  

ОсновнойОбороты.СуммаОборотДт КАК ОборотДт,  

ОсновнойОбороты.СуммаОборотКт КАК ОборотКт  

ИЗ

РегистрБухгалтерии.Основной.Обороты КАК ОсновнойОбороты  

УПОРЯДОЧИТЬ ПО Счет.Код

ИТОГИ СУММА(ОборотДт), СУММА(ОборотКт) ПО

Счет,  

Организация  

Результат представлен в следующей сводной таблице:



ОборотыДтКт


 

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

 

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

function doExpand(paraNum, imageNum) { if (paraNum.style.display=="none") {paraNum.style.display=""; imageNum.src="arrowdn.gif"} else {paraNum.style.display="none"; imageNum.src="arrowrt.gif"} }

 



Основная таблица записей


 

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

 



Остатки


Получение остатков по счетам, измерениям и субконто.  

 



Остатки по счетам


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

ВЫБРАТЬ

ОсновнойОстатки.Организация КАК Организация,  

ОсновнойОстатки.Счет КАК Счет,  

ОсновнойОстатки.СуммаОстаток КАК СуммаОстаток  

ИЗ

РегистрБухгалтерии.Основной.Остатки КАК ОсновнойОстатки  

УПОРЯДОЧИТЬ ПО

ОсновнойОстатки.Счет.Код  

ИТОГИ СУММА(СуммаОстаток) ПО

Организация,  

Счет  

Результат запроса представлен в виде сводной таблицы:



ОстаткиИОбороты


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

 



Предопределенные счета


Разработчик может завести счета в плане счетов еще на этапе создания приложения. Такие счета называются предопределенными, и для них недоступны некоторые операции в режиме «Предприятие», например, такой счет нельзя удалить. Любой предопределенный счет имеет имя, по которому к нему будет производиться обращение в программных модулях. Например, счет 60 может иметь имя «Поставщики».

Ниже показано окно для редактирования предопределенных счетов.



Предопределенные виды субконто


Аналогично предопределенным счетам, в плане видов характеристик еще на этапе разработки обычно указываются предопределенные виды характеристик (виды субконто), например, Контрагенты, Склады и т.д.

Ниже показано окно для редактирования предопределенных видов характеристик:

При редактировании предопределенного счета в Конфигураторе можно выбрать виды субконто только из предопределенных видов характеристик. В режиме «Предприятие» пользователь может добавить новые виды субконто и прикрепить их к определенному счету (предопределенному или нет), но он не может отменить у счета ведение учета в разрезе предопределенного вида субконто. Например, в режиме «Предприятие» у счета 41 нельзя удалить субконто Номенклатура, так как оно является предопределенным.



Ресурсы


 

Сумма  

балансовый  

Тип: Число  

Количество  

небалансовый  

Тип: Число  

Только для признака учета - Количественный  

ВалютнаяСумма  

небалансовый  

Тип: Число  

Только для признака учета - Валютный  



Структура регистра бухгалтерии


Ниже в примерах будет использован регистр бухгалтерии Основной, поддерживающий корреспонденцию и имеющий следующую структуру:



Субсчета


Любой счет в плане счетов может иметь субсчета. Это отличается от версии 7.7, где при создании счета спрашивалось, будет ли счет иметь субсчета и, в зависимости от ответа, он создавался группой или обычным счетом. Теперь любой счет может иметь субсчета, причем количество уровней их иерархии не ограничено.

В новой версии возможны проводки по родительским счетам. Даже если у счета есть субсчета, то по нему могут делаться проводки, например, допускается проводка Дт20 Кт76, хотя у счетов 20 и 76 могут быть субсчета.

Маска кода счета никак не связана с иерархией счетов. Это означает, что у счета 20 могут быть субсчета «Общехоз» или, например, субсчет 25, однако это может привести к путанице, поэтому рекомендуется назначать код счета в соответствии с уровнем иерархии.



Валютные остатки по счетам


Так как в нашем регистре есть измерение Валюта, то возможно получить остатки по каждой валюте в разрезе счетов и организаций. Это можно сделать следующим запросом:

ВЫБРАТЬ

ОсновнойОстатки.Организация КАК Организация,  

ОсновнойОстатки.Счет КАК Счет,  

ОсновнойОстатки.Валюта КАК Валюта,  

ОсновнойОстатки.ВалютнаяСуммаОстаток КАК Остаток  

ИЗ

РегистрБухгалтерии.Основной.Остатки КАК ОсновнойОстатки  

УПОРЯДОЧИТЬ ПО

ОсновнойОстатки.Счет.Код  

ИТОГИ СУММА(Остаток) ПО

Организация,  

Счет,  

Валюта  


Результат запроса показан ниже в виде сводной таблицы:



ЗначенияСубконто


 

Доступ к значениям субконто. Обычно эта таблица соединяется в запросе с какой-нибудь другой таблицей.  

 



Базовые


? это такие виды расчета, результаты которых используются при расчете данного вида расчета. Например, сумма по окладу используется при расчете доплаты к окладу, а основные начисления являются базовыми для расчета НДФЛ.  




В каждом регистре выделены измененные


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

Таким образом, перерасчет ? это таблица, сохраняющая значения измерений, по которым требуется перерасчет. Кроме измерений, в этой таблице хранятся виды расчетов и ссылки на документы-регистраторы. С помощью таблицы перерасчета можно определить, какие записи стали неактуальными и требуют перерасчета (или по крайней мере более пристального внимания).






Документы


предназначены для ввода записей в регистры рас-чета. Например, документы Отпуск, Премия.

 



Графики


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

Ниже приведен пример регистра сведений, который служит графиком работы.



Измерения


? это разрезы хранимой информации. Например, у регистра ОсновныеНачисления будут измерения Физлицо, Организация, Подразделение, Должность, а у регистра Налоги будут только два измерения: Физлицо и Организация.  

 



Отчеты


используются для вывода детальной и сводной информации, например, отчеты РасчетныеЛистки, Свод. Так как в версии 8.0 все объекты конфигурации входят в стандартную поставку, то в прикладных решениях вполне возможно активно использовать регистры расчета совместно с регистрами накопления, планами счетов и регистрами бухгалтерии.  

 



Перерасчеты


Система позволяет автоматически отслеживать записи, требующие перерасчета. Такая ситуация может возникнуть, когда их результаты каким-то образом связаны с другими видами расчета, а те были изменены (удалены или добавлены новые записи).

Например, при изменении начислений сотрудника нужно пересчитать налоги. Тогда для вида расчета «НДФЛ» начисления будут являться ведущими видами расчета, что настраивается в плане видов расчета на закладке «Ведущие».

Допустим, у нас есть регистры расчета ОсновныеНачисления, Премии и Удержания. Налоги рассчитываются после всех начислений и премий, так как используют их результаты.

Для автоматического отслеживания актуальности записей о налогах по каждому сотруднику необходимо у регистра Удержания создать перерасчет с измерением Физлицо. В качестве данных базовых регистров назначается измерение Физлицо из регистра ОсновныеНачисления и регистра Премии.

Ниже на примере показана схема работы перерасчета:

Регистр расчета "Основные начисления"



Предопределенные виды расчета


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

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



Регистры сведений


могут хранить любую информацию, развернутую по нескольким измерениям. Кроме того, они могут быть периодическими, тогда информация дополнительно разворачивается во времени. При помощи регистров сведений реализуются графики учета времени (аналог календарей в версии 7.7). Например, при расчете зарплаты это будут графики работы сотрудников предприятия.

 



Реквизиты


? дополнительная характеристика записи расчета. Реквизиты могут быть почти любого сохраняемого в базе данных типа. Например, реквизиты Дни и Часы для регистра ОсновныеНачисления, реквизит ДокументОснование для регистра Удержания.  

 

Ниже на рисунке показана структура регистра расчета НачисленияСотрудников.



Ресурсы


? результаты расчета, например, ресурс Начислено для регистра ОсновныеНачисления, ресурс Удержано для регистра Налоги и т.д. Ресурсы могут быть только числового типа.

 



Сложность


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

 

В новой версии 1С:Предприятия для реализации сложных периодических расчетов предназначены следующие объекты:  

 



Справочниках


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

 



Ведущие


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




Вытесняющие


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


При вытеснении записи с определенным периодом действия ее фактический период действия может измениться, т.е. уменьшится или разделится на несколько интервалов. Например, запись об отпуске с 10 по 20 число месяца вытесняет запись об окладе, у которой период действия ? весь месяц. Тогда фактический период действия записи об окладе будет состоять из двух интервалов: с 1 по 9 число и с 21 по конец месяца.



Взаимосвязь видов расчета


Для каждого вида расчета в следующем окне указываются базовые, ведущие и вытесняющие его виды расчетов:

Ниже приведено описание этих взаимосвязей между видами расчета:




Запросы к регистрам расчета


Запросы к данным регистра расчета позволяют извлечь информацию о произведенных расчетах. В запросах можно обращаться к следующим таблицам-источникам:

 

·основная таблица записей регистра расчета,  

·таблица фактического периода действия,  

·таблица перерасчета.  


С помощью средств механизма запросов можно группировать результаты расчета в необходимых разрезах, подсчитывать итоги, отбирать только нужные записи расчета. Это позволяет сформировать весь спектр необходимых отчетов, например, РасчетныеЛистки, ЛицевыеСчета, ВедомостьВыплатыЗарплаты и т.д. Механизм запросов был подробно описан в главе «Запросы». Список полей таблиц-источников регистров расчета приведен в документации.



Чтение DBF-файла


Чтение DBF-файла производится еще проще:

 

ФайлDBF = Новый XBase;

 

ФайлDBF.ОткрытьФайл("с:\staff.dbf",,Истина); //только для чтения 

ФайлDBF.Первая();

 

Пока НЕ ФайлDBF.ВКонце() Цикл

   

НовСотр = Справочники.Сотрудники.СоздатьЭлемент();  

НовСотр.Наименование = ФайлDBF.Name;  

НовСотр.Подразделение = ФайлDBF.Dер;  

НовСотр.Оклад = ФайлDBF.Sum;  

НовСотр.Записать() ;  

ФайлDBF.Следующая();  

 

КонецЦикла;

ФайлDBF.ЗакрытьФайл();



Чтение XML


Чтение XML-документов производится через объект Чтение XML с помощью метода Прочитать:

Чт = Новый ЧтениеXML;

Чт.ОткрытьФайл(ПутьКФайлу);

Пока Чт.Прочитать() Цикл

Рез = "ТипУзла=" + Чт.ТипУзла;  

Рез = Рез + " Имя='" + Чт.Имя;  

Рез = Рез + "' ЛокальноеИмя='" + Чт.ЛокальноеИмя;  

Рез = Рез + "' Префикс='" + Чт.Префикс;  

Рез = Рез + "' Значение'" + Чт.Значение;  

Рез = Рез + "' " ;  

Сообщить(Рез) ;  

КонецЦикла

Дополнительно система 1С:Предприятие 8.0 поддерживает преобразование с помощью XSL. Язык XSL или eXtensible Stylesheet Language ? это язык описания стилей отображения для XML-документов. Он позволяет описать способ отображения документов для различных носителей, будь то окно вебобозревателя или устройство печати. Данные в формате XML форматируются с помощью таблицы стилей в формате XSL, в результате создается отображение данных в соответствии с заданными стилями.

Полный список объектов, их свойств и методов для работы с XML-документами приведен в документации.

 

 

 



ДобавитьСтроку


 

Добавляет строку в конец текстового документа.  

 



Индексы


Для упорядочивания содержимого DBF-файла и поиска в нем по значению одного или нескольких полей применяется механизм индексов. Его применение можно сравнить с сортировкой картотеки по определенному признаку (совокупности признаков). Однако, в отличие от картотеки, файл может иметь сразу несколько индексов, и, соответственно, являться упорядоченным одновременно по нескольким признакам.

Индексы хранятся в индексном файле, причем один индексный файл может содержать сразу несколько индексов. Рекомендуется для одного файла DBF иметь один индексный файл, в котором хранятся все индексы этого файла.

 



Интернет-соединение


С помощью объекта ИнтернетСоединение можно устанавливать и разрывать соединение с провайдером через коммутируемые линии (модем). После установления соединения можно отправлять и принимать почту, обращаться к сайтам (веб-серверам) по протоколам HTTP/HTTPS и к FTP-серверам.

Для операций через эти протоколы можно также использовать процедуры и функции глобального контекста для работы с файлами, например, КопироватьФайл.



Электронная почта (e-mail)


Для работы с электронной почтой в 1C:Предприятии 8.0 существуют следующие объекты:

 



КоличествоСтрок


 

Получает количество строк в тексте.  

 



КомандаСистемы


 

Вызывает на исполнение команду операционной системы, как если бы она была введена в командной строке. После загрузки приложения управление возвращается в 1С:Предприятие 8.0, и исполнение модуля продолжается.  



Объект «ЧтениеТекста»


Объект ЧтениеТекста предназначен для последовательного чтения текстовых файлов. Следующий фрагмент прочитает ранее записанный файл:

Файл = Новый

ЧтениеТекста("с:\test.txt",КодировкаТекста.ANSI,Символы.ПС);

Строка1 = Файл.Прочитать(7);

Строка2 = Файл.ПрочитатьСтроку();

Строка3 = Файл.Прочитать();

Файл.Закрыть();

 

 

 

 



Объект «ТекстовыйДокумент»


Объект ТекстовыйДокумент предназначен для манипулирования строками текстового файла. Все строки в системе хранятся в ко-дировке UNICODE, но есть возможность записи и чтения текстов в других кодировках. С помощью методов Прочитать и Записать текстовый документ считывается из файла или записывается в файл.

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




Объект «ЗаписьТекста»


Объект ЗаписьТекста предназначен для последовательной записи текстовых файлов.

Приведенный ниже фрагмент запишет небольшой текстовый файл:

Файл= Новый

ЗаписьТекста("с:\test.txt",КодировкаТекста.ANSI.Символы.ПС); 

Файл.Записать("Строка1");

Файл.ЗаписатьСтроку("Строка2");

Файл.Записать("Строка3");

Файл.3акрыть();

В результате работы программы получится следующий текстовый файл:

Строка1Строка2

Строка3



Поле HTML-документа


Элемент управления ПолеНТМL Документа позволяет отобразить HTML-страницу. Это могут быть как локальные страницы, так и страницы из Интернета.

У данного элемента управления есть метод Перейти, который позволяет указать адрес страницы (URL) или HTML-макет, хранящийся в конфигурации.

Следующий фрагмент демонстрирует, как можно указать адрес сайта (веб-сервера) для данного элемента управления:

ЭлементыФормы.ПолеНТМLДокумента.Перейти("http://www.1c.ru");



ПолучитьСтроку


Получает строку текстового документа по номеру.  


Следующий пример демонстрирует применение этих методов:

 

Текст = Новый ТекстовыйДокумент;

Текст.Прочитать("catalog.txt", КодировкаТекста.ANSI);

Текст.ЗаменитьСтроку(52, "Установка оборудования " + Стоимость);

Текст.ВставитьСтроку(53, "Замена оборудования... ");

Текст.УдалитьСтроку(10);

Текст.ДобавитьСтроку("Конец файла");

Для н = 1 По Текст.КоличествоСтрок() Цикл

стр = Текст.ПолучитьСтроку(н);  

сообщить(стр);  

КонецЦикла;

Текст.Записать("catalog2.txt",КодировкаТекста.ANSI);

Текст.ТолькоПросмотр = Истина;

Текст.Показать();

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

стр = ТекстДок. ПолучитьТекст ();

ТекстДок.УстановитьТекст(стр);

Метод Очистить позволяет полностью очистить текстовый документ (удалить все строки). С помощью метода Показать текстовый документ можно отобразить на экране. Если установить свойство ТолькоПросмотр в значение Истина, то пользователь не сможет изменить текстовый документ.



Последовательный доступ к тексту


При работе с большими текстовыми файлами бывает необходимо применить последовательный доступ, при котором весь файл не загружается в память и в один момент времени производится обработка только фрагмента файла. После чтения/записи очередного фрагмента к нему нельзя уже вернуться (в памяти его больше нет), поэтому такой доступ называется последовательным. Текст обычно хранится в кодировке UNICODE, но объекты ЧтениеТекста и ЗаписьТекста умеют работать и с другими кодировками.



Работа с FTP


Система 1С:Предприятие 8.0 имеет средства для работы с файлами по протоколу FTP. Можно подключаться к FTP-серверам, скачивать и закачивать файлы, переименовывать их, обращаться к их свойствам, создавать каталоги и т.д.

Ниже показан простой пример, в котором устанавливается соединение с FTP-сервером, скачивается один файл, а на его место помещается другой:

 

FTP = Новый FTPСоединение

("ftp://ftp.mysite.ru",21,"login","password");

FTP.УстановитьТекущийКаталог("htdocs");

FTP.Получить("index.htm", "с:\old\index.htm");

FTP.Записать("с:\new\index.htm", "index.htm");

 



Удаленные записи


Файлы DBF устроены таким образом, что удаление записи не приводит к физическому удалению записи из файла. Запись просто помечается на удаление и пропускается при переборе. Таким образом, размер файла остается прежним. Чтобы физически удалить все помеченные на удаление записи, нужно применить метод Сжать. Средства встроенного языка позволяют работать с записями, помеченными на удаление, перебирать их и даже отменять пометку на удаление.



Удалить Строку


Удаляет из текстового документа строку с указанным номе-ром.  

 



ВставитьСтроку


 

Вставляет в текстовый документ строку с указанным номе-ром.  

 



Приведенный ниже пример подключает внешнюю


 

 

Приведенный ниже пример подключает внешнюю компоненту Math.dll', содержащую различные математические функции, и использует из нее генератор псевдослучайных чисел:  

ЗагрузитьВнешнююКомпоненту("Math.dll");  

МФ = Новый("Addln.Math");  

//Для инициализации датчика случайных чисел используется процедура MO.SRAND(IOOO);   

//параметр может быть от 0 до 32767   

Для н = 1 По 10 Цикл   

Сообщить(МФ.RAND()); //случайное число в промежутке от 0 до 32767   

КонецЦикла;  

Разработчик внешней компоненты Math.dll ? внедренческий центр «Чип и Дейл» (Новосибирск)  

ЗаменитьСтроку


Заменяет строку с указанным номером на переданную.  

 



Запись DBF-файла


Следующий фрагмент программы создает DBF-файл с тремя полями и выгружает в него справочник Сотрудники:

ФайлDBF = Новый XBase;

 

ФайлDBF.Поля.Добавить("Name","S",100);

ФайлDBF.Поля.Добавить("Dep","S",50);

ФайлDBF.Поля.Добавить("Sum","N",10,2);

 

ФайлDBF.Кодировка = КодировкаХВаsе.ОЕМ; //кодировка DOS 

ФайлDBF.СоздатьФайл("с:\staff.dbf");

Сотрудники = Справочники.Сотрудники.Выбрать();

Пока Сотрудники.Следующий() Цикл

ФайлDBF.Добавить();  

ФайлDBF.Name = Сотрудники.Наименование;  

ФайлDBF.Dер = Сотрудники.Подразделение;  

ФайлDBF.Sum = Сотрудники.Оклад;  

ФайлDBF.Записать();  

КонецЦикла;

ФайлDBF.ЗакрытьФайл();



Запись XML


Следующий фрагмент создает простой XML-документ и записывает его в файл. Иерархический отступ конструкций языка показывает вложенность XML-элементов друг в друга:

Файл = Новый ЗаписьXML;

Файл.ОткрытьФайл(ПутьКФайлу);

Файл.ЗаписатьОбъявлениеXML();

Файл.ЗаписатьНачалоЭлемента("goods");  

Файл.ЗаписатьНачалоЭлемента("good");  

Файл.ЗаписатьНачалоЭлемента("name");  

Файл.ЗаписатьТекст("Ботинки");  

Файл.ЗаписатьКонецЭлемента();  

Файл.ЗаписатьНачалоЭлемента("price");  

Файл.ЗаписатьТекст(XMLСтрока(600));  

Файл.ЗаписатьКонецЭлемента();  

Файл.ЗаписатьКонецЭлемента();  

Файл.ЗаписатьНачалоЭлемента("good");  

Файл.3аписатьНачалоЭлемента("name");  

Файл.ЗаписатьТекст("Сапоги");  

Файл.ЗаписатьКонецЭлемента();  

Файл.ЗаписатьНачалоЭлемента("price");  

Файл.ЗаписатьТекст(XMLСтрока(1000)) ;  

Файл.ЗаписатьКонецЭлемента();  

Файл.ЗаписатьКонецЭлемента();  

Файл.ЗаписатьКонецЭлемента() ;

В результате работы программы получился следующий XML-документ:

 

<?xml version="1.0"?>

<goods>

<good>  

<namе>Ботинки</namе>  

<price>600</price>  

</good>  

<good>  

<namе>Сапоги</namе>  

<price>1000</price>  

</good>  

</goods>



ЗапуститьПриложение


 

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