[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0)

Публикация № 275315

Разработка - Инструментарий разработчика

1cd

122
Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

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

Сначала благодарности:

В первую очередь выражаю огромную благодарность Валерию Агееву (awa) - автору статей о формате файлов 1CD и утилиты Tool_1CD.

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

Благодарю Алексея Ермилова (Alex_E) за помощь в создании обработки.

Также благодарю Андрея Лукина за внешнюю компоненту для работы с deflate.

 

Функционал:

  • Просмотр базы 1CD из любой другой конфигурации на управляемых формах (работает в "Такси")
  • Поддержка форматов 8.2.14.0 и 8.3.8.0.
  • Просмотр общей информации о таблицах базы (описание, размер записи, данные, BLOB, индексы и т.д.)
  • Просмотр общей информации о полях таблицы (тип, длина, NULL и т.д.)
  • Просмотр записей таблиц
  • Работа с полями BLOB:
    • просмотр в 16-ричном виде
    • просмотр в виде текста (используется ВК для распаковки deflate)
    • сохранение значения поля BLOB в файл
  • Возможность выгружать файлы таблицы: Файл данных, Файл BLOB, Файл индексов
  • 16-ричный вьюер страниц базы
  • Консоль кода 1С (КК) для вывода любой необходимой информации
  • Для записи в базу можно использовать скрипты на языке 1С в консоли кода. Для этого есть функция постраничной записи База1С_ЗаписатьСтраницыПоНомеру(...)

Для чего можно использовать:

  • Изучение физического представления базы
  • Выгрузка данных на низком уровне
  • Навигация по поврежденным базам (с ограничениями) для выявления повреждений. С помощью этой обработки были выявлены дефекты 3 "битых" баз, 2 из них полностью восстановлены. Для выявления дефектов писались скрипты для консоли кода, исправления вносились через сторонний 16-ричный редактор.
  • Можно рассматривать как пример работы с бинарными данными (функции обработки можно использовать для любых других файлов, например, для графических или звуковых)

Особенности работы:
Само двоичное чтение осуществляет ActiveX "SAPI.spFileStream", установленный практически в любой Windows, дальше идет работа средствами языка 1С через COMSafeArray. Кому интересно, простой пример работы из 1С с этим ActiveX - http://forum330.com/forum/86/all Документация - http://msdn.microsoft.com/en-us/library/ms722561%28v=vs.85%29.aspx

Интерфейс:
Почти весь функционал этой обработки был написан в рамках рабочей задачи, которая не требовала интерфейса. В итоге для этой обработки интерфейс был просто "прикручен" и дописано немного функций, а чтобы не изобретать велосипед, интерфейс был сделан похожим на интерфейс утилиты Tool_1C, автором которой является awa, без поддержки функций записи в базу из интерфейса.

 

Информация о таблице:

Информация о таблицах базы

Информация о полях таблицы:

Информация о полях таблицы

Операции над файлами таблицы:

Операции над файлами таблицы


Просмотр записей таблиц:

 При чтении данных таблицы добавляются поля, начинающиеся с префикса "B1C_". В поле "B1CD_Deleted" записывается признак удаленной записи (для записи, помещенной в таблице на удаление, устанавливается ИСТИНА).

Для полей типа BINARY выводится строка вида #BLOB,<Тип>,<БЛОКНАЧАЛА>,<РАЗМЕР>. Например, #BLOB,I,1,19024.

 

 

Информация о записях таблицы

16-ричный просмотр страниц базы:

16-ричный просмотр базы

Консоль кода (КК):

Консоль кода

Обработка содержит примеры скриптов. Вот, например, простой скрипт для получения DBNames из таблицы PARAMS:


	лДатаС = ТекущаяДата();
	лИмяТаблицы = "PARAMS";
	лТекТаб = КК_ПолучитьСтруктуруТвблицыПоИмени (лИмяТаблицы);
	
	мсЗаписи 	= Х1С_Б1СД_ПолучитьЗаписиТаблицы (лИмяТаблицы,,,,,3,Истина);
	лСтрокаБлоб = "";
	Для Каждого цЗапись Из мсЗаписи Цикл
		Если цЗапись["FILENAME"] = "DBNames" Тогда
			лСтрокаБлоб = цЗапись["BINARYDATA"];
			Прервать;
		КонецЕсли;
	КонецЦикла;

	стрБлоб 	= База1С_ПолучитьСтруктуруBLOBИзСтроки (лСтрокаБлоб);
	хБуфер 		= База1С_ПолучитьДанныеБлоб (лТекТаб.ФайлБлоб, стрБлоб.НомерБлока, стрБлоб.Размер);

	лТекст 		= База1С_РаспаковатьБуфер (хБуфер);	
	КонсольКода_ОкноОтладки = лТекст;
	
	лСекунд 	= ТекущаяДата() - лДатаС;
	Сообщить("Выполнено за (сек): "+лСекунд);

 

 

Ограничения и работоспособность:

Версии до 2.0 тестировались на Windows 8 (32 bit) и на релизе платформы 8.3.5.1119.

Версия 2.0 тестировалась на Windows 10 Home (64 bit) и на релизе платформы 8.3.14.1630.

На данный момент не на все варианты повреждений файла 1CD есть проверка, этот функционал планируется доработать в будущем.

Планы по развитию функционала:

Сделать возможность редактирования страниц базы в 16-ричном режиме;

Для чтения двоичных данных использовать БуферДвоичныхДанных вместо компонент ActiveX;

Автоматическое выявление некоторых повреждений баз;

Работа с базой в "Режиме поврежденной базы";

Запись в базу ранее выгруженных и измененных данных;

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

История версий:

0.0.2.8a от 02.10.2014 Первая публичная версия (альфа)

0.0.3.0a от 24.01.2015

Новое в версии:

  • добавлена возможность вывода записей таблиц (функции чтения таблиц пока находятся в состоянии тестирования)
  • ускорена работа с файлом 1CD (spMemoryStream)                                                                                                  
  • ускорена работа HEX-просмотра
  • ускорено открытие базы примерно в 2 раза (3500 таблиц около 15 секунд)
  • добавлена форма выхода
  • добавлена форма предупреждения при выгрузке файла
  • добавлена обработка типа поля T (text)
  • исправлена ошибка повторного сохранения
  • исправлены другие мелкие ошибки

 2.0.3.20a от 11.04.2019

Новое в версии:

  • Поддержка формата 8.3.8.0
  • Работа с BLOB:
    • просмотр в 16-ричном виде
    • просмотр в виде текста (используется ВК для распаковки deflate)
    • сохранение значения поля BLOB в файл
  • Оптимизирована работа с памятью при работе с полями BLOB
  • Ускорение некоторых операций с файлами и полями BLOB
  • Сохранение и загрузка записей таблиц в MXL-фвйлы для ускорения работы с таблицами с большим количеством записей
  • FIX: исправлена ошибка при просмотре записей и выгрузке больших файлов (DATA и BLOB)
  • FIX: исправлена ошибка при выводе неверной версии формата 1CD
  • FIX: исправлены другие мелкие ошибки

 

 

122

Скачать файлы

Наименование Файл Версия Размер
x1c_1cdbin_20190411_2_0_3_20a.epf
.epf 1,27Mb
11.04.19
39
.epf  2.0.3.20a 1,27Mb 39 Скачать
x1c_1cdbin_20141002_0_0_2_8a.epf
.epf 29,53Kb
30.07.15
107
.epf 0.0.2.8a 29,53Kb 107 Скачать
x1c_1cdbin_20150124_0_0_3_0a.epf
.epf 54,68Kb
11.04.19
164
.epf 0.0.3.0a 54,68Kb 164 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. BigB 178 07.10.14 15:19 Сейчас в теме
2. ediks 329 07.10.14 16:12 Сейчас в теме
Интересное решение, но не понял как выгружать - "Выгрузить Файл данных" и "Выгрузить файл BLOB". Нажимаю - ничего не происходит.
Если два раза нажать на эти кнопки, то выскакивает ошибка.
Прикрепленные файлы:
3. GusevNA 322 07.10.14 19:37 Сейчас в теме
(2) ediks, файлы появляются в рабочем каталоге. Имена файлов типа:
_ENUM200_Blob
_ENUM200_Data
_ENUM200_Index
То есть к имени таблицы добавляется суффикс (Data, Blob, Index)
Насчет повторной выгрузки - действительно баг, спасибо, поправлю.
4. GusevNA 322 07.10.14 20:01 Сейчас в теме
"Детские" баги иногда вылезают, поскольку интерфейс "прикручивался", а не писался одновременно с функционалом, поэтому спасибо всем, кто о них напишет - исправлю быстро, могу всем отписавшимся по поводу багов скинуть свежий релиз. Кому нужно, пишите в личку
5. GusevNA 322 07.10.14 23:08 Сейчас в теме
Сейчас идет активная доработка функционала для навигации по базе и по выявлению повреждений. Поэтому:
1) Если кому нужен какой функционал - пишите, может, заодно и его реализуем в первую очередь
2) Если у кого есть битые базы (только 1CD, не .DT) и есть желание их попробовать восстановить, пишите, быстро не обещаю, но по мере свободного времени могу повосстанавливать.
34. gerkon1980 24.01.15 07:23 Сейчас в теме
(5)
У меня горе - прямо горе - рухнула база. Проверяла через внутренний файл 1 C chdbfl - сказал "База данных разрушена. Восстановление не возможно". Последний раз сохранялась 28.04.14. А сейчас год закрывать а у меня база рухнула. Я просто не представляю как ее восстанавливать, если документы заново вводить. Помогите, пожалуйста, восстановить
35. GusevNA 322 24.01.15 19:25 Сейчас в теме
(34) gerkon1980, Могу попробовать Вам помочь. Емейл для связи указал в ЛС
36. ololoanonim 3 26.01.15 04:47 Сейчас в теме
(35) Чтение работает, только при чтении больших таблиц вызывается исключение. Причины устанавливаются. :-)
37. GusevNA 322 26.01.15 07:15 Сейчас в теме
(36) ololoanonim, Во-первых, еще раз спасибо за тестинг, на который не хватает времени.
Во-вторых, в принципе, обработка тестировалась на разных таблицах, в том числе и больших. Надо смотреть конкретную базу и конкретную таблицу. Я там в ЛС на всякий случай написал свой емейл.
38. ololoanonim 3 26.01.15 09:24 Сейчас в теме
(37) Хорошо. Вечером, когда буду дома, я Вам напишу.
6. JohnyDeath 294 08.10.14 10:07 Сейчас в теме
Реально ли выполнять запросы к таблицам этого файла?
Для чего это надо именно мне. Работаю с хранилищем конфигурации, перегружая исходники в git-репозитарий и пытаюсь прикрутить сервер непрерывной интеграции TeamCity. В связи с чем возникают следующие потребности:
1) Из хранилища 1С выбрать номер последнего помещения (таблица VERSIONS)
2) Выбрать из таблицы HISTORY строки по определенному фильтру (например, номер версии )
8. GusevNA 322 08.10.14 13:12 Сейчас в теме
(6) JohnyDeath, Запросы к таблицам пока не поддерживаются, хотя реализовать несложно - после открытия базы есть структуры и типы данных всех таблиц и всех их полей с размерами. Можно прочитать файл данных любой таблицы (функции в обработке готовые есть), поместить его во временную таблицу и делать выборки из нее.
Насчет хранилища - сейчас пока поддерживаются только файлы 1Cv8.1CD, детально с файлами хранилища не разбирался, но по-моему, там файлы организованы аналогично 1CD. Если так, то теми же самыми функциями этой обработки можно их разбирать, потом читать нужные таблицы, помещать во временные таблицы ну и запросом дальше.
Кстати, если будет большой интерес к теме хранилища, могу реализовать чуть попозже.
SeiOkami; +1 Ответить
7. Жолтокнижниг 248 08.10.14 11:21 Сейчас в теме
Так по моему есть множество аналогов уже написанных(даже у меня) в чем плюсы конкретно вашего решения в сравнении с другими
9. GusevNA 322 08.10.14 13:14 Сейчас в теме
(7) Жолтокнижниг, (7) Я знаю пока знаю только одну разработку с подобным функционалом на языке 1С - https://code.google.com/p/restoration-base-1c8/
Во-вторых, это конфигурация, а не обработка. К тому же там последние релизы от 2012 года и непонятно, будет она развиваться дальше или нет. У меня она в начале работы стала выдавать какие-то ошибки еще до открытия базы.
Если еще где-то нашли аналоги - буду благодарен за ссылки - интересно и мне посмотреть на них.
20. buganov 59 09.10.14 05:08 Сейчас в теме
(7) Жолтокнижниг, где же у вас есть? Я не нашел. И аналогов отнюдь не множество. Их как раз мало. Для чего это нужно? Как минимум посмотреть алгоритмы, как максимум восстановить базу. Просто стягивают такие умники "чем лучше, чем другие?". Скачайте и посмотрите, чай не чайник. А если чайник, то лучше не лезть к базе, а позвать взрослых.
23. GusevNA 322 09.10.14 12:51 Сейчас в теме
(20) buganov, Да, сейчас основные доработки делаются в направлении восстановления баз.

Так что если у кого есть битые базы, которые не жалко (не содержат больших комм.тайн:-)), просьба присылать для тестов и экспериментов.
Своих 2 восстановил, 1 в процессе, а больше пока не попадаются.
10. EmpireSer 08.10.14 13:32 Сейчас в теме
Есть аналог в виде компоненты native для 1С (включая линукс):
http://infostart.ru/public/166557/
artbear; 1yh1; +2 Ответить
11. GusevNA 322 08.10.14 15:00 Сейчас в теме
(10) EmpireSer, Она написана не на языке 1С. Соответственно, для ее, к примеру, доработки нужно знать соответствующий язык программирования, на котором она написана, иметь эту среду разработки и каждый раз при внесении изменений перекомпилировать А тут открыл Конфигуратор - доработал под свои задачи и, собственно, все - можно пользоваться. Любой 1С-разработчик может это сделать. К тому в этой обработке есть 16-ричный просмотр страниц базы.
12. EmpireSer 08.10.14 18:30 Сейчас в теме
(11)
Не совсем всё так радужно как вы говорите:
1. Вы работаете с COM объектами, а специфику их работы тоже нужно знать.
2. Из-за этих же COM объектов есть ограничение в ОС. Работа же Native компонентов под разными ОС обеспечивается 1С (т.к. в данном случаи есть библиотека компонеты под Linux).

НО! :-)))

Ваши изыскания похвальны! Я их только поддерживаю!

Если это превратиться в удобный механизм и позволяющий вносить изменения в базу (с блокировками участков файла конечно), при чём лишённый проблем не обновления индексов изменённых таблица (такая проблема есть в аналоге), то будет ещё круче.
14. GusevNA 322 08.10.14 20:06 Сейчас в теме
(12) EmpireSer, Во-первых, спасибо за поддержку. Что касается изысканий, то, на мой взгляд, здесь они были минимальны - была рабочая задача по чтению данных из файлов 1CD без запуска базы, потом был прикручен интерфейс. А что касается COM-объектов, то это Виндовые COM-ы, входящте в состав Microsoft Speech API (SAPI). На форумах есть информация о том, что эти COM-ы есть практически в любой Винде, так что здесь тоже потенциальные проблемы минимальны. А что касается Linux, то использование обработки под него не планировалось (хотя можно переписать, если нужно будет, все чтение/запись под что-нибудь еще - кода там немного). А вот насчет 1CDLib (сам пользовался неоднократно, очень хорошая разработка, на мой взгляд) - есть ее исходники в публичном доступе?
21. EmpireSer 09.10.14 09:52 Сейчас в теме
(14)
Исходники 1CDLib видимо закрыты :-(

P.S. Вот если бы кто-то ещё "V8Unpack" написал бы на 1С... а то у меня это самое узкое место в создании полиморфной конфигурации. Очень не хватает механизмов оттуда "Pack" и "UnPack"...
22. GusevNA 322 09.10.14 12:46 Сейчас в теме
(21) EmpireSer, Вообще есть мысли попробовать в будущем, только те реализации алгоритмов, которые я пока вижу, будут, скорее всего, медленными, потому что распаковка требуется, которую в v8unpack zlib.dll делает.
13. monsta 59 08.10.14 20:04 Сейчас в теме
Занятная разработка, плюсую. Если бы она еще говорила на что именно "Ошибка формата потока" при работе с конфигурацией жалуется...
15. GusevNA 322 08.10.14 20:09 Сейчас в теме
(13) monsta, Ошибка формата потока - у меня такое было с битыми файлами конфигурации в файле 1CD, а не со структурой файла 1CD (пока ни разу не встречал, чтобы структура 1CD была порушена при такой ошибке, хотя быть может и, наверно, бывает часто). Если интересно, могу Вашу базу посмотреть.
17. andrewks 1268 08.10.14 20:34 Сейчас в теме
(13) monsta, "Ошибка формата потока" - это одно из самых бесполезных сообщений об ошибке, наряду с "System Error"

это ошибка при чтении потока (stream) с данными 1с-формата (текстовый файл с фигурными скобками, запятыми и значениями)

что именно не понравилось - да что угодно, начиная с испорченного содержимого до банального расположения строкового значения там, где 1с ожидает увидеть, например, число
19. GusevNA 322 08.10.14 21:17 Сейчас в теме
(17) andrewks, Согласен, можно написать Global fatal error, смысл бы нисколько не поменялся :-)
16. andrewks 1268 08.10.14 20:27 Сейчас в теме
а что насчёт производительности?
сразу скажу: тесты не делал, но что-то мне подсказывает, что подобная реализация на языке 1с не может быть очень быстрой
18. GusevNA 322 08.10.14 21:16 Сейчас в теме
(16) andrewks, Пока не замерял. Для текущих задач пока хватает скорости.
Tool_1CD, например, даже визуально шустрее. Но в коде есть еще возможности для оптимизации, на которую все времени не хватает ((
24. crazydimka 20.10.14 16:20 Сейчас в теме
А сможет ли эта компонента когда-нибудь читать файл 1CD хранилища конфигураций для чтения метаданных ? Или если она это уже умеет подскажите как ?
SeiOkami; +1 Ответить
25. GusevNA 322 20.10.14 18:33 Сейчас в теме
(24) crazydimka, Это обработка (EPF), а не компонента. На хранилищах особо не тестировалась, но файлы 1cv8ddb.1CD открывает, как обычные 1CD файлы. Таблицы (типа Config и ConfigSave) можно выгрузить в файл. Чтение и разбор метаданных в рамках этой обработки пока не планируется.
26. ololoanonim 3 21.01.15 13:51 Сейчас в теме
Такой вот вопрос, а можно ли просмотреть содержимое таблиц?
27. GusevNA 322 21.01.15 16:40 Сейчас в теме
(26) ololoanonim, В этой версии нельзя, сейчас идет разработка новой версии - там чтение и просмотр содержимого таблиц будет реализовано.
28. ololoanonim 3 22.01.15 06:33 Сейчас в теме
(27) а как долго займет разработка? просто очень надо. Может поделитесь как это лучше сделать?
29. GusevNA 322 22.01.15 14:44 Сейчас в теме
(28) ololoanonim, В принципе, там все готово, но нужно ее протестировать, а тестировать сейчас нет времени. Если потестируете и отпишетесь по результатам - хотя бы на уровне "работает-не работает", могу выложить в течение 1-2 дней.
31. ololoanonim 3 23.01.15 11:17 Сейчас в теме
(29) можете пока подсказать как считывать данные? просто маленько поработал с Вашей обработкой и фиксированные строки стали считываться прям строками. А вот остальное не могу. Вот прошу Вашей помощи.
32. GusevNA 322 23.01.15 16:01 Сейчас в теме
(31) ololoanonim, Сегодня-завтра выложу обработку, там несложные алгоритмы - нетрудно будет разобраться, и заранее спасибо за тестирование :-)
33. ololoanonim 3 23.01.15 18:25 Сейчас в теме
(32) Вам спасибо! Очень жду когда выложите.
30. ololoanonim 3 23.01.15 05:13 Сейчас в теме
Конечно протестирую. И отписаться не составит труда.
39. baton_pk 394 06.07.15 16:06 Сейчас в теме
Ой, спасибо :) Вытащил данные о продажах из битой базы кассового узла.
40. INed 79 31.12.15 01:59 Сейчас в теме
Николай, добрый день!

Можно ли решить с помощью Вашей конфигурации проблему: "Ошибка СУБД: Длина ключа индекса превышает максимально допустимую '_Documen831..."?
43. GusevNA 322 28.01.16 21:37 Сейчас в теме
(40) INed, Обработка на данный момент только читает из базы, но ничего не исправляет. Так что Вашу проблему решить вряд ли получится.
41. dskull86 28.01.16 17:15 Сейчас в теме
эта обработка считает таблицу IBVERSION?
42. GusevNA 322 28.01.16 21:35 Сейчас в теме
(41) dskull86, В нескольких базах, которые были под рукой, нормально считывает.
44. Alexoniq 621 17.04.19 13:44 Сейчас в теме
Может у меня база слишком хорошо битая, может ещё что, но при попытке чтения записей по объекту выдает вот такую ошибку (не сразу, а после нескольких минут обработки данных)
Прикрепленные файлы:
45. Alexoniq 621 17.04.19 14:52 Сейчас в теме
и еще одна ошибочка
Прикрепленные файлы:
46. GusevNA 322 17.04.19 18:11 Сейчас в теме
(45)Если база битая, ошибки могут вылезать запросто. В этом случае лучше смотреть в HEX-редакторе, что и как, можно писать скрипты для КК. Вообще, сначала была идея сделать кучу проверок, но стала падать скорость работы.
47. spawn_a 36 20.06.19 12:16 Сейчас в теме
Добрый день, есть битая база, с вашей замечательной обработкой получилось увидеть структуру и даже прочитать часть таблиц. Но тут везение закончилось. Подскажите как можно с вами связаться на предмет сотрудничества по этой проблеме
48. sss999 38 02.07.19 02:27 Сейчас в теме
Здравствуйте, крутая разработка, сейчас уже ни кто таким не занимается.Есть простая задача, выгрузить все таблицы из одной базы и загрузить их в другую, исключая системные таблицы,не подскажите как это реализовать?
49. GusevNA 322 02.07.19 12:28 Сейчас в теме
(48)Здравствуйте, выгрузить все таблицы можно скриптом в "Консоли кода", в обработке есть примеры. Загрузки через интерфейс нет, но опять же можно через скрипты. Можно загружать таблицы в SQL-базу, так проще и быстрее.
50. sss999 38 03.07.19 01:51 Сейчас в теме
(49)обработка очень крутая, мне как чистому 1с нику тяжело конечно понимать весь код на низком уровне, не представляю как такое написать можно было, посоветуйте что почитать по двоичным данным?Я выгрузил блоб а он меньше на 250, 250 это размер страницы или чего, это в чем измеряется, я не понимаю.А можно пример если мне нужно blob загрузить таблицы params для dbname, если можно в личку.
52. sss999 38 03.07.19 02:23 Сейчас в теме
(50)blob он целиком идет или он может раскидан по базе быть я не понял тоже.
53. vadim1011985 71 03.07.19 02:31 Сейчас в теме
(52) Читайте описание форматов 8.2.14 и 8.3.8 Например это

https://infostart.ru/public/536343/

там же ссылка на старый формат 8.2.14

На сколько я знаю данные могут идти не по порядку поэтому возможно что часть данных окажется в другом месте . В любом случае есть таблица размещения данных , где перечислены номера страниц данных
54. sss999 38 03.07.19 02:38 Сейчас в теме
(53)пытался это читать, ниче не понятно, как понимаю нужно классические книги почитать по строению баз, вот такое я бы почитал, думаю 1с не сами это придумали ведь, и по двоичному представлению данных тоже надо читать что-то..
55. acanta 67 03.07.19 07:51 Сейчас в теме
Это аналог Sql studio для 1С без возможности делать бэкап.
51. vadim1011985 71 03.07.19 02:22 Сейчас в теме
Здравствуйте , меня заинтересовала ваша обработка , восстановление баз данных это одна из интересующих меня областей , обработка действительно крутая , но как по мне не хватает нормального мануала к ней , Например есть консоль кода , но что в ней писать хз так как нет справки. Есть ли возможность предоставить справку по доступным функция и параметрам к ним с описанием назначения функции

Есть ли возможность удалять таблицы как в формате 8.2.14 так и формате 8.3.8 .
57. GusevNA 322 03.07.19 16:00 Сейчас в теме
(51)Здравствуйте. В ближайшее время выложу пример отдельной обработки, которая будет вызывать функции 1CDBin как функции библиотеки.

Функций записи в базу 1CD из интерфейса нет, поэтому через обработку удалить таблицы не получится. Удалять таблицы легко в 16-ричном редакторе, я, например, активно использую HxD, Для удаления таблицы нужно всего несколько байтов подправить. В принципе, это можно и без этой обработки сделать.

Насчет скриптов - в модуле формы есть процедуры "_КК_Тест_Скрипт1 ()" "_КК_Тест_Скрипт2 ()" итд, это и есть примеры скриптов. Открываете базу, копируете код такой процедуры из Конфигуратора в буфер обмена, вставляете в поле на закладке "Консоль кода" и нажимаете "Выполнить код 1С". Все имена функций и процедур, которые имеют отношение к скриптам для КонсолиКода, имеют префикс КК_
Если, например, скрипт получает данные из какой-то функции, можете в конце скрипта дописать вывод результата в файл, текстовое поле или ОкноСообщений.
59. vadim1011985 71 03.07.19 16:07 Сейчас в теме
(57) Сегодня пробовал выгружать файлы таблиц по папкам , немного изменив код обработки

Процедура ВыгрузитьДанныеТекущейТаблицы (ТипДанныхТаблицы,СтруктураТаблицы = неопределено)
	
	//лСтруктураТаблицы = ПолучитьТекущуюТаблицуБД ();
	
	Если СтруктураТаблицы = Неопределено Тогда
		лСтруктураТаблицы = ПолучитьТекущуюТаблицуБД();
	Иначе	
		лСтруктураТаблицы = СтруктураТаблицы;
	КонецЕсли;
	
	Если лСтруктураТаблицы = Неопределено Тогда 
		Возврат;
	КонецЕсли;	
	
// получаем имя файла

   Если ТипДанныхТаблицы = 1 Тогда 
	   ЧастьИмениФайла = "\data"
   ИначеЕсли ТипДанныхТаблицы = 2 Тогда 
	   ЧастьИмениФайла = "\Blob"
   Иначе
	   ЧастьИмениФайла = "\Index";
   КонецЕсли;	   
	   


	лИмяФайла = лСтруктураТаблицы.Имя+ЧастьИмениФайла; //  ПолучитьИмяФайлаДляДанныхТаблицы (лСтруктураТаблицы, ТипДанныхТаблицы);
	
		
	лРабочийКаталог = ПолучитьРабочийКаталог ();	
	
	Если лРабочийКаталог = Неопределено Тогда
		Х1С_СообщитьОбОшибке1 ("Неверный рабочий каталог");
		Возврат;
	КонецЕсли;
	
	СоздатьКаталог(лРабочийКаталог+лСтруктураТаблицы.Имя);

	лПолноеИмяФайла = лРабочийКаталог + лИмяФайла;
		
	
	ВыгрузитьДанныеТаблицы (лСтруктураТаблицы, ТипДанныхТаблицы, лПолноеИмяФайла, , Истина);
//	Состояние("Файл выгружен в рабочий каталог");
//	Х1С_Предупреждение("Файл выгружен в рабочий каталог",,"Выгрузка файла","Закрыть");
	Сообщить ("Данные сохранены в файл: "+лПолноеИмяФайла);
КонецПроцедуры
Показать


В самой консольке написал следующий код

Если База1С_Открыта() Тогда 

Для НомерТаблицы = 0 По База1С.МассивТаблиц.Количество () - 1 Цикл 

лТекТабИмя = База1С.МассивТаблиц [НомерТаблицы];
Сообщить(лТекТабИмя.Имя);
ВыгрузитьДанныеТекущейТаблицы  (1, лТекТабИмя);
Сообщить("Таблица Выгружена");

КонецЦикла; 

КонецЕсли;
Показать


Выгружает пару таблиц , а потом валится с ошибкой - "преобразование к типу число не может быть выполнено"

причем если потом отдельно через закладку операции выгрузить эту таблицу , и снова запустить через консоль то таблица выгружается
60. GusevNA 322 03.07.19 17:45 Сейчас в теме
Посмотрите пример _КК_Тест_Скрипт1 () в модуле формы, там написан правильный обход таблиц.

У Вас в коде вместо
База1С.МассивТаблиц [НомерТаблицы];
Нужно вызывать функцию:
КК_ПолучитьСтруктуруТвблицыПоИмени ()
Это связано с постепенным получением данных, для ускорения работы некоторых функций
61. GusevNA 322 03.07.19 22:22 Сейчас в теме
(59) В итоге код выгрузки таблиц для "Консоли кода" будет выглядеть так:

// === ВЫГРУЗКА ТАБЛИЦ БАЗЫ 1CD В КАТАЛОГ НА ДИСКЕ

	// так оформляются параметры скрипта для наглядности ПРМ_<ИмяПеременной>
	// Если Истина заменить на Ложь, то будут выгружаться все таблицы
	ПРМ_ВСЕ_ТАБЛИЦЫ = Истина;

	Если Не База1С_Открыта() Тогда
		ВызватьИсключение("База не открыта");	
	КонецЕсли;
	лРабочийКаталог = ПолучитьРабочийКаталог();
	Если лРабочийКаталог = Неопределено Тогда
		ВызватьИсключение("Неверный рабочий каталог");	
	КонецЕсли;

	лЗамерСтарт = ТекущаяДата();
	ОчиститьСообщения();
	лСч = 0;
	 // все таблицы могут выгружаться долго, поэтому стоит ограничение для тестов
	МаксКолТаблиц = 10;
	Для Каждого цТаблица Из База1С.МассивТаблиц Цикл 
		Если Не ПРМ_ВСЕ_ТАБЛИЦЫ Тогда
			лСч = лСч+1;
		КонецЕсли;
		Если лСч > МаксКолТаблиц Тогда
			Прервать;
		КонецЕсли;
		
		лТекТаб = КК_ПолучитьСтруктуруТвблицыПоИмени(цТаблица.Имя);
		Сообщить("Выгружается таблица: "+лТекТаб.Имя);
		СоздатьКаталог(лРабочийКаталог+лТекТаб.Имя);
		ВыгрузитьДанныеТаблицы  (лТекТаб, 1, лРабочийКаталог+лТекТаб.Имя+"\"+лТекТаб.Имя+"_Data");
		// для таблиц (потоков) Blob убрать комментарий в следующей строке
		// ВыгрузитьДанныеТаблицы  (лТекТаб, 2, лРабочийКаталог+лТекТаб.Имя+"\"+лТекТаб.Имя+"_Blob");
		// для таблиц (потоков) Indexes убрать комментарий в следующей строке
		// ВыгрузитьДанныеТаблицы  (лТекТаб, 3, лРабочийКаталог+лТекТаб.Имя+"\"+лТекТаб.Имя+"_Indexes");
		Сообщить("Таблица "+лТекТаб.Имя+" выгружена");

	КонецЦикла; 
	Сообщить ("Выполнео за (с):"+(ТекущаяДата()-лЗамерСтарт));

Показать
62. vadim1011985 71 03.07.19 23:58 Сейчас в теме
(61) у меня так получилось

Если База1С_Открыта() Тогда 

Для НомерТаблицы = 0 По База1С.МассивТаблиц.Количество () - 1 Цикл 

таблица  = База1С.МассивТаблиц [НомерТаблицы];

лТекТабИмя=КК_ПолучитьСтруктуруТаблицыПоИмени (Таблица. Имя,Истина)

ВыгрузитьДанныеТекущейТаблицы  (1, лТекТабИмя);

ВыгрузитьДанныеТекущейТаблицы  (1, лТекТабИмя);

ВыгрузитьДанныеТекущейТаблицы  (2, лТекТабИмя);

ВыгрузитьДанныеТекущейТаблицы  (3, лТекТабИмя);

Сообщить("Таблица Выгружена");

КонецЦикла; 

КонецЕсли;
Показать
56. vadim1011985 71 03.07.19 10:57 Сейчас в теме
(0) И еще вопрос где можно посмотреть какие функции (и их описание ) экспортирует внешняя компонента
58. GusevNA 322 03.07.19 16:03 Сейчас в теме
(56)А какая именно компонента?
63. prtz 04.07.19 11:22 Сейчас в теме
(0) Добрый день! Подскажите, можно ли обратиться к вам за помощью в восстановлении базы? Ситуация следующая - умер hdd на котором хранилась база. Резервные копии делались ежедневно в Acronis Cloud. Базу восстановили, но она не запускается(( пишет - файл базы данных повреждён. У нас этих резервных копий глубиной в 2 месяца и заработала только самая первая (двух месячной давности), но за эти 2 месяца было проделано очень много работы. Если не вы, то может быть подскажете к кому можно обратиться? Заранее спасибо!
64. vadim1011985 71 04.07.19 11:45 Сейчас в теме
(63) Пробовали проверять утилитой Chdbfl ?
65. prtz 04.07.19 16:00 Сейчас в теме
(64) Да, выдаёт кучу ошибок. Если поставить галку на исправление найденных ошибок, то утилита тупит несколько секунд и закрывается. Tools_1c также сыпет море ошибок. Чуть попозже выложу скриншоты с ошибками
66. prtz 04.07.19 18:10 Сейчас в теме
(64) вот что показывает chdbfl
Есть надежды на оживление? Или с этим сразу в морг?
Прикрепленные файлы:
67. vadim1011985 71 04.07.19 18:12 Сейчас в теме
(66) Надежда всегда есть , пришлите файл гляну как раз и эту обработку опробую
68. prtz 04.07.19 18:27 Сейчас в теме
(67) Почему то не могу вам отправить личное сообщение. Не могли бы написать ваш email? в личные сообщения конечно же
69. vadim1011985 71 04.07.19 18:29 Сейчас в теме
70. prtz 04.07.19 18:34 Сейчас в теме
(69) Отправил вам ссылку нашу базу в акронисе.
Оставьте свое сообщение

См. также

CF & SQL : конструктор прямых запросов к БД 1С 135

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    4030    80    dmitrydemenew    19       

Конвейер проверки качества кода 118

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования Математика и алгоритмы Разработка

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    4906    10    Stepa86    35       

Просмотр и анализ структуры базы данных (отчет на СКД) 98

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

2 стартмани

24.07.2019    4889    70    YPermitin    25       

Модель объекта 7

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    2583    1    vadim1980    0       

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD 135

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика Jenkins

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

1 стартмани

03.06.2019    9567    1    ripreal1    82       

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером 186

Инструменты и обработки Программист Подсистема v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

13.05.2019    15580    90    Diversus    38       

Групповая проверка доработок 101

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    6739    65    sapervodichka    23       

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 88

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    9267    39    Bazil    22       

Настройка отладки на сервере 1С 93

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    10262    49    frkbvfnjh    32       

Восстановление структуры DBSchema 12

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 БП3.0 Windows Абонемент ($m) Тестирование и исправление

Обработка для анализа ошибок в структуре DBShema, восстановление структуры объектов, перенос данных из выгруженных в XML таблиц базы, при помощи "Tool 1CD".

10 стартмани

11.03.2019    2612    12    spawn_a    14       

Баг или фича? Неожиданное поведение платформы 165

Статья Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Тестирование и исправление Разработка

Рассмотрим несколько случаев неожиданного поведения платформы 1С, а также что с этим можно cделать.

18.02.2019    12116    31    YPermitin    88       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 514

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    25565    245    bonv    108       

Редактор объектов информационной базы 8.3 37

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.31 от 02.10.2019

2 стартмани

23.01.2019    8700    127    ROL32    21       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь полноценный оффлайн (обновление от 15.08.19)! 169

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    20268    212    informa1555    167       

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 93

Инструменты и обработки no Архив с данными v8 Абонемент ($m) Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом

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

2 стартмани

17.12.2018    10030    73    for_sale    36       

PostgreSQL для 1С 8.3: ускоряем резервное копирование и восстановление для отдельной базы очень большого размера 110

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Россия PostgreSQL Абонемент ($m) Производительность и оптимизация (HighLoad) Тестирование и исправление

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

1 стартмани

03.12.2018    16107    30    vsasav    68       

Навигатор по конфигурации базы 1С 8.3 102

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.43 от 01.10.2019

3 стартмани

28.10.2018    15112    185    ROL32    43       

Go. Разбор лога технологического журнала. Достойная альтернатива perl'у 85

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Сервисные утилиты Инструментарий разработчика

Началось все с того, что я познакомился с перловыми скриптами для парса ТЖ которые размещены на kb.1c.ru (например в этой статье https://kb.1c.ru/articleView.jsp?id=113). По началу мне дико понравилось то, что перл разбирал гигабайты логов за считанные минуты, но позитив мой угасал обратно пропорционально с тем, насколько глубже я погружался в "кроличью нору" ....

1 стартмани

24.10.2018    9963    4    lazarenko    39       

HTTP Сервисы: Путь к своему сервису. Часть 4 102

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

28.09.2018    12592    15    dsdred    11       

Консоль Внедренца v.3.3 113

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы.

1 стартмани

27.08.2018    9958    232    evvakra    23       

HTTP Сервисы: Путь к своему сервису. Часть 3 133

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    15068    29    dsdred    13       

Управляемая консоль запросов, отчетов 3.7.5 (расширение, внешняя обработка) 361

Инструменты и обработки Программист Архив с данными v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m) Консоль запросов

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Выполнение в фоне (с возможностью отмены), Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

1 стартмани

14.08.2018    49769    1100    Evg-Lylyk    418       

HTTP Сервисы: Путь к своему сервису. Часть 2 120

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf ERP2 УТ11 КА2 Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    16677    17    dsdred    0       

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 63

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    14884    23    informa1555    26       

Консоль HTTP-запросов с генерацией кода 164

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Консоль запросов

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    14975    215    leongl    15       

Работа со схемой запроса 171

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    27431    72    kalyaka    34       

Тестирование: пример создания сценарного UI теста для платформы 1С 88

Статья Программист Архив с данными v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать сценарный UI-тест. Опишем последовательность действий и покажем, как это сделать с использованием инструментария. Рассмотрим пример, максимально приближенный к боевому, покажем на примере конфигураций УТ11/ERP проверку бизнес-процесса "Продажа". Вы сможете убедиться, что создание сценарных тестов для платформы 1С на самом деле относительно быстрый и простой процесс.

1 стартмани

17.04.2018    13650    36    ivanov660    11       

Регистры правил [Расширение] 13

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права УТ11 Абонемент ($m) Инструментарий разработчика Информационная безопасность

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    10289    27    33lab    0       

Обновление конфигураций на БСП, у которых в расширениях есть собственные объекты с данными 92

Статья Системный администратор Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Тестирование и исправление

Показан способ обновления конфигураций, основанных на БСП, в тех случаях, когда в расширениях имеются собственные объекты данных (Справочники, Документы, Регистры сведений, Планы обмена).

1 стартмани

12.02.2018    16341    55    t.v.s.    41       

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX 105

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    19723    2    kraynev-navi    40       

Программное формирование форматированной строки в стиле html+inline CSS 52

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    19354    24    bonv    5       

Макет в СКД - пример всех возможных типовых вариантов 94

Инструменты и обработки Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Инструментарий разработчика

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    16516    79    freelancer    4       

Полезный код для программистов 1С (часть 1). Управление свойствами элементов формы. Хранение копии данных реквизитов 141

Статья Программист Архив с данными v8 Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

24.09.2017    31602    17    vandalsvq    79       

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С 104

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    21810    17    ivanov660    46       

Трансформатор 1С - SQL 234

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    26724    319    Synoecium    44       

OneStyle. Улучшенное форматирование кода в конфигураторе 119

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика

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

1 стартмани

19.06.2017    17505    24    Stepa86    45       

"Конвертация данных" + Git. Решение проблемы различий в файлах 112

Инструменты и обработки Программист Конфигурация (md, cf) v8 КД Абонемент ($m) Инструментарий разработчика Обмен через XML

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    16594    30    stas_ganiev    13       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    17528    144    Bassgood    10       

Набор подсистем "Умные таблицы" 64

Инструменты и обработки Системный администратор Программист Архив с данными v8 Беларусь Россия Казахстан Абонемент ($m) Инструментарий разработчика

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    22866    99    Silenser    33       

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений 181

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

13.03.2017    22427    112    romasna    47       

Добавляем http-ссылки на самописную систему учета задач 87

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Практика программирования

Захотелось мне, чтобы в удаленном git репозитории можно было указывать ссылки на задачи и переходить по ним. Но не очень хотелось тратить на это много времени.

1 стартмани

09.02.2017    15365    5    Stepa86    22       

1С: Gitter 1.1 (Хранилище 1С => Git) 114

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Развитие проекта gitter http://infostart.ru/public/273126/ . Позволяет выгружать хранилище 1С в репозиторий GIT.

1 стартмани

01.02.2017    19451    40    Stepa86    20       

Анализ сложности обновлений 8.3 87

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП3.0 Россия Абонемент ($m) Инструментарий разработчика

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

2 стартмани

23.01.2017    9859    72    PavelLapin    26       

Сценарное тестирование в помощь программисту 1С 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Альтернативное решение для организации сценарного тестирования конфигураций, разработанных на управляемых формах

1 стартмани

11.11.2016    22272    63    grumagargler    47       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

23.10.2016    22835    19    json    22       

Несколько шаблонов для доработки типовых конфигураций 174

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Практика программирования Инструментарий разработчика

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

1 стартмани

03.10.2016    27653    102    json    25       

Управление задачами: Канбан доска 235

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика БСП (Библиотека стандартных подсистем)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    47693    465    BlizD    284       

Конструктор-тестер http запросов в 1С 215

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) WEB Инструментарий разработчика

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    33811    299    hlopik    16       

Hello world на metadata.js 249

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Инструментарий разработчика WEB Мобильная разработка

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    47698    115    unpete    205       

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен) 8

Инструменты и обработки Системный администратор Программист Бухгалтер Конфигурация (md, cf) v8 1cv8.cf Беларусь БУ НДС Абонемент ($m) Внешние источники данных WEB Инструментарий разработчика

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    25797    28    c1nil    4