Архив рубрики: 1C

твсРаботаСФайлами модуль 1с8

Функция ПолучитьРасширениеФайла(стрИмяФайла) Экспорт
	
	стрРасширениеФайла = "";
	
	ПозицияТочки = СтрДлина(стрИмяФайла);
	Пока ПозицияТочки >= 1 Цикл
		Если Сред(стрИмяФайла, ПозицияТочки, 1) = "." Тогда
			стрРасширениеФайла = Сред(стрИмяФайла, ПозицияТочки + 1);
			Прервать;
		КонецЕсли;
		ПозицияТочки = ПозицияТочки - 1;
	КонецЦикла;
	Возврат стрРасширениеФайла;
	
КонецФункции

Функция ВыбратьФайл(стрПолноеИмяФайла, Режим, Заголовок, Фильтр)
	
	Диалог = Новый ДиалогВыбораФайла(Режим);
	Диалог.Заголовок = Заголовок;
	Диалог.ПредварительныйПросмотр = Ложь;
	Диалог.Фильтр = Фильтр;
	
	Если ЗначениеЗаполнено(стрПолноеИмяФайла) Тогда
		Диалог.ПолноеИмяФайла= стрПолноеИмяФайла;
		стрИмяФайла = "";
		стрПутьКФайлу = "";
		РаботаСФайлами.ПолучитьКаталогИИмяФайла(стрПолноеИмяФайла, стрПутьКФайлу, стрИмяФайла);
		Диалог.Каталог = стрПутьКФайлу;
	КонецЕсли;
	
	Если Диалог.Выбрать() Тогда
		стрПолноеИмяФайла = Диалог.ПолноеИмяФайла;
		Возврат Истина;
	Иначе
		Возврат Ложь;
	КонецЕсли;
	
КонецФункции

// Открывает диалог выбора файла
//
// Параметры:
// стрИмяФайла - Строка - Полный путь к файлу
// Режим - РежимОткрытияФайла- (на запись, на чтение, на дозапись...)
// стрЗаголовок - Заголовок окна выбора файла
// Фильтр - маска фильтрации файлов в диалоге выбора файла
//
// Возвращаемое значение:
// нет
//
Функция ВыборИмениФайла(стрИмяФайла, Режим, стрЗаголовок = "", Фильтр = "*.*") Экспорт
	
	флВозврата = Ложь;
	СтандартнаяОбработка= Ложь;
	если Не ВыбратьФайл(стрИмяФайла, Режим, стрЗаголовок, Фильтр) тогда
		флВозврата = Ложь;
	Иначе
		флВозврата = Истина;
	КонецЕсли;
	Возврат флВозврата;
	
КонецФункции


// Проверяет по полному пути файла его существование
//
// Параметры:
// Параметр1 - Строка - Полный путь к файлу
//
// Возвращаемое значение:
// <Булево> - Возвращает Истина если файл существует
//
Функция ПроверитьСуществованиеФайла(стрПолнПутьКФайлу) Экспорт
	
	ФайлДляПроверки = Новый Файл(стрПолнПутьКФайлу);
	
	Возврат ФайлДляПроверки.Существует();
	
	
КонецФункции // ПроверитьСуществованиеФайла()

Функция СохранитьТекстВоВременныйФайл(стрТекст, стрРасширениеФайла, кодировкаФайла = "") Экспорт
	
	ЗагружаемыйФайл = Новый ТекстовыйДокумент;
	файлXML = Новый ЧтениеXML;
	
	ЗагружаемыйФайл.ДобавитьСтроку(стрТекст);
	
	стрИмяФайла = ПолучитьИмяВременногоФайла(стрРасширениеФайла);
	локКодировкаФайла = ?(кодировкаФайла = "", КодировкаТекста.UTF8, кодировкаФайла);
	ЗагружаемыйФайл.Записать(стрИмяФайла, локКодировкаФайла);
	
	Возврат стрИмяФайла;
	
КонецФункции //СохранитьТекстВоВременныйФайл()


Функция СохранитьURLВоВременныйФайл(знач стрURL, стрРасширениеФайла = "") Экспорт
	
	Если стрРасширениеФайла = "" Тогда
		стрРасширениеФайла = ПолучитьРасширениеФайла(стрURL);
	КонецЕсли;
	стрИмяФайла = ПолучитьИмяВременногоФайла(стрРасширениеФайла);
	стрСервер = твсРаботаСИнтернетом.ПолучитьСерверИзURL(стрURL);
	
	локПрокси = твсРаботаСИнтернетом.ПолучитьПрокси();
	Соединение = Новый HTTPСоединение(стрСервер,,локПрокси);
	
	HTTP_Запрос = твсРаботаСИнтернетом.СформироватьHTTPЗапрос(стрURL);
	Состояние("Загрузка: " + стрURL);
	
	Попытка
		HTTP_Ответ = Соединение.Получить(HTTP_Запрос, стрИмяФайла);
	Исключение
		Сообщить("Ошибка получения данных из Интернета по адресу: " + стрURL);
	КонецПопытки;
	
	Попытка
		Если HTTP_Ответ.КодСостояния >= 400 Тогда
			Сообщить("Код ответа сервера: " + HTTP_Ответ.КодСостояния + ". Ошибка получения данных из Интернета по адресу: " + стрURL);
			стрИмяФайла = "";
		КонецЕсли;
	Исключение
		Сообщить("Ответ не получен по адресу: " + стрURL);
	КонецПопытки;
	
	Возврат стрИмяФайла;
	
КонецФункции // СохранитьURLВоВременныйФайл()


Как исправить ошибки в 1C 83 (1C v8.3)

вот статья 

копия статьи:

Использование утилиты chdbfl для тестирования и исправления физической целостности базы 1С:Бухгалтерия (8.3 редакция 3.0)

Статья устарела и требует переработки?

Если в процессе работы в 1С:Бухгалтерия (8.3 редакция 3.0) возникают странные ошибки или она вообще перестала запускаться — базу нужно чинить.

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

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

2. Зайдите в папку, в которую у вас установлена 1С. Обычно это ‘C:\Program Files\1cv8’. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (в нашем случае 8.3.4.304):

01

3. Внутри этой папки вы найдете папку bin:

02

4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:

03

5. Запустите этот файл и перед вами откроется утилита для проверки физической целостности файла базы данных.  Укажите имя файла базы данных, нажав кнопку с тремя точками:

04

6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл ‘1Cv8’:

05

7. Поставьте галку ‘Исправлять обнаруженные ошибки’. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку ‘Выполнить’:

06

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

07

С уважением, Алексей Карманов.

Установка TTF шрифтов под Linux (1C v8.3 ругается на отсутстствие ttf шрифтов)

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

Установка ttf шрифтов в Open SUSE

sudo zypper install fetchmsttfonts

Где находится лежит файл лицензии 1С v8?

Где в 1С лежат файлы лицензии. Возник у меня этот вопрос т.к. Нужно было переносить 1С на другую ОС в пределах одной машины, а активаций ограниченное количество.
нашел статью http://webhamster.ru/mytetrashare/index/mtb0/1334038461vnr5weg73u

где автор описывает куда копать:

Файл однопользовательской лицензии лежит в каталоге: C:\Documents and Settings\All Users\1C\1Cv82\conf

или в каталоге: C:\ProgramData\1C\1Cv82\conf

файл называется примерно так:  20120302155201.lic

Если 1С пишет «Ключ защиты не обнаружен ….» То проблема решается так:

Проблема решилась копированием файла лицензии (она по умолчанию сразу попала в каталог:»C:\Users\All Users\1C\1Cv82\conf\2*.lic») в каталог:  C:\Program Files (x86)\1cv82\conf\

Если используются программная лицензия на сервер 1С-64x и многопользовательские лицензии лучше сразу отредактировать файлы:

C:\Program Files (x86)\1cv82\8.2.##.###\bin\conf\conf.cfg

C:\Program Files\1cv82\8.2.##.###\bin\conf\conf.cfg

указав один и тот же путь к программным лицензям, например:

ConfLocation=C:\Program Files\1cv82\conf

и в этот каталог положить обе лицензии.

Без этого на платформе 8.2.15 периодически наблюдались траблы типа: лицензию на сервер вижу, а много пользовательские не вижу.

Из всех других файлы лицензий убрать — иначе возможна ситуация когда 1С сама допишет файл лицензии текстом:

«На компьютере *** используются две копии одного и того же файла программной лицензии: file://C:/Program Files/1cv82/conf/2*.lic и file://C:/Program Files (x86)/1cv82/8.2.15.289/bin/conf/2*.lic»

 

Как исправить ошибки в базе 1С v77 v80 v 81 v 82 v83?

вот ссылка на статью как это сделать. Очень подробно. Рекомендую:

http://programmer-1c.ru/stati/vosstanovlenie-bazyi-dannyih-1s-predpriyatie-8.2-8.1-8.0-i-1.html

если возникли ошибки вот как их решить:

http://forum.infostart.ru/forum15/topic61903/

 

РегистрБухгалтерии.Хозрасчетный.Остатки:Использование итогов выключено

если выходит такая ошибка: РегистрБухгалтерии.Хозрасчетный.Остатки:Использование итогов выключено это лечится включением использования итогов. Описано это здесь: http://help1c.com/faq8/view/573.html

Чтобы это сделать нужно запустить файл из архива ниже в зависимости от Вашей версии 1С (8.2 или 8.3)

8.3 Включить использование итогов 8.1 Включить использование итогов

после этого ошибка РегистрБухгалтерии.Хозрасчетный.Остатки:Использование итогов выключено будет исправлена.

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