[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
41
.epf  2.0.3.20a 1,27Mb 41 Скачать
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 325 07.10.14 19:37 Сейчас в теме
(2) ediks, файлы появляются в рабочем каталоге. Имена файлов типа:
_ENUM200_Blob
_ENUM200_Data
_ENUM200_Index
То есть к имени таблицы добавляется суффикс (Data, Blob, Index)
Насчет повторной выгрузки - действительно баг, спасибо, поправлю.
4. GusevNA 325 07.10.14 20:01 Сейчас в теме
"Детские" баги иногда вылезают, поскольку интерфейс "прикручивался", а не писался одновременно с функционалом, поэтому спасибо всем, кто о них напишет - исправлю быстро, могу всем отписавшимся по поводу багов скинуть свежий релиз. Кому нужно, пишите в личку
5. GusevNA 325 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 325 24.01.15 19:25 Сейчас в теме
(34) gerkon1980, Могу попробовать Вам помочь. Емейл для связи указал в ЛС
36. ololoanonim 3 26.01.15 04:47 Сейчас в теме
(35) Чтение работает, только при чтении больших таблиц вызывается исключение. Причины устанавливаются. :-)
37. GusevNA 325 26.01.15 07:15 Сейчас в теме
(36) ololoanonim, Во-первых, еще раз спасибо за тестинг, на который не хватает времени.
Во-вторых, в принципе, обработка тестировалась на разных таблицах, в том числе и больших. Надо смотреть конкретную базу и конкретную таблицу. Я там в ЛС на всякий случай написал свой емейл.
38. ololoanonim 3 26.01.15 09:24 Сейчас в теме
(37) Хорошо. Вечером, когда буду дома, я Вам напишу.
6. JohnyDeath 295 08.10.14 10:07 Сейчас в теме
Реально ли выполнять запросы к таблицам этого файла?
Для чего это надо именно мне. Работаю с хранилищем конфигурации, перегружая исходники в git-репозитарий и пытаюсь прикрутить сервер непрерывной интеграции TeamCity. В связи с чем возникают следующие потребности:
1) Из хранилища 1С выбрать номер последнего помещения (таблица VERSIONS)
2) Выбрать из таблицы HISTORY строки по определенному фильтру (например, номер версии )
8. GusevNA 325 08.10.14 13:12 Сейчас в теме
(6) JohnyDeath, Запросы к таблицам пока не поддерживаются, хотя реализовать несложно - после открытия базы есть структуры и типы данных всех таблиц и всех их полей с размерами. Можно прочитать файл данных любой таблицы (функции в обработке готовые есть), поместить его во временную таблицу и делать выборки из нее.
Насчет хранилища - сейчас пока поддерживаются только файлы 1Cv8.1CD, детально с файлами хранилища не разбирался, но по-моему, там файлы организованы аналогично 1CD. Если так, то теми же самыми функциями этой обработки можно их разбирать, потом читать нужные таблицы, помещать во временные таблицы ну и запросом дальше.
Кстати, если будет большой интерес к теме хранилища, могу реализовать чуть попозже.
SeiOkami; +1 Ответить
7. Жолтокнижниг 249 08.10.14 11:21 Сейчас в теме
Так по моему есть множество аналогов уже написанных(даже у меня) в чем плюсы конкретно вашего решения в сравнении с другими
9. GusevNA 325 08.10.14 13:14 Сейчас в теме
(7) Жолтокнижниг, (7) Я знаю пока знаю только одну разработку с подобным функционалом на языке 1С - https://code.google.com/p/restoration-base-1c8/
Во-вторых, это конфигурация, а не обработка. К тому же там последние релизы от 2012 года и непонятно, будет она развиваться дальше или нет. У меня она в начале работы стала выдавать какие-то ошибки еще до открытия базы.
Если еще где-то нашли аналоги - буду благодарен за ссылки - интересно и мне посмотреть на них.
20. buganov 60 09.10.14 05:08 Сейчас в теме
(7) Жолтокнижниг, где же у вас есть? Я не нашел. И аналогов отнюдь не множество. Их как раз мало. Для чего это нужно? Как минимум посмотреть алгоритмы, как максимум восстановить базу. Просто стягивают такие умники "чем лучше, чем другие?". Скачайте и посмотрите, чай не чайник. А если чайник, то лучше не лезть к базе, а позвать взрослых.
23. GusevNA 325 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 325 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 325 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 325 09.10.14 12:46 Сейчас в теме
(21) EmpireSer, Вообще есть мысли попробовать в будущем, только те реализации алгоритмов, которые я пока вижу, будут, скорее всего, медленными, потому что распаковка требуется, которую в v8unpack zlib.dll делает.
13. monsta 59 08.10.14 20:04 Сейчас в теме
Занятная разработка, плюсую. Если бы она еще говорила на что именно "Ошибка формата потока" при работе с конфигурацией жалуется...
15. GusevNA 325 08.10.14 20:09 Сейчас в теме
(13) monsta, Ошибка формата потока - у меня такое было с битыми файлами конфигурации в файле 1CD, а не со структурой файла 1CD (пока ни разу не встречал, чтобы структура 1CD была порушена при такой ошибке, хотя быть может и, наверно, бывает часто). Если интересно, могу Вашу базу посмотреть.
17. andrewks 1270 08.10.14 20:34 Сейчас в теме
(13) monsta, "Ошибка формата потока" - это одно из самых бесполезных сообщений об ошибке, наряду с "System Error"

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

КонецЦикла; 

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КонецЦикла; 

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

См. также

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

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

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

1 стартмани

02.10.2019    5302    104    dmitrydemenew    29       

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

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

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

3 стартмани

04.09.2019    6092    11    Stepa86    35       

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

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

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

5 стартмани

24.07.2019    6255    80    YPermitin    25       

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

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

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

1 стартмани

30.06.2019    3427    1    vadim1980    0       

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

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

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

1 стартмани

03.06.2019    10819    1    ripreal1    86       

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

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

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

1 стартмани

13.05.2019    17074    93    Diversus    38       

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

Инструменты и обработки Программист Внешняя обработка (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    7539    66    sapervodichka    23       

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

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

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

1 стартмани

26.03.2019    10128    42    Bazil    25       

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

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

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

1 стартмани

26.03.2019    11642    49    frkbvfnjh    32       

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

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

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

10 стартмани

11.03.2019    3127    15    spawn_a    14       

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

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

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

18.02.2019    12872    31    YPermitin    88       

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

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

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

1 стартмани

31.01.2019    27984    264    bonv    109       

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

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

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

2 стартмани

23.01.2019    10303    143    ROL32    24       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 174

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

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

5 стартмани

09.01.2019    22628    223    informa1555    172       

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

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

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

2 стартмани

17.12.2018    10735    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    17115    30    vsasav    68       

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

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

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

3 стартмани

28.10.2018    16816    196    ROL32    47       

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

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

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

1 стартмани

24.10.2018    10890    4    lazarenko    39       

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

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

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

1 стартмани

28.09.2018    13521    15    dsdred    11       

Консоль Внедренца v.3.4 116

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

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

1 стартмани

27.08.2018    10559    244    evvakra    27       

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

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

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

1 стартмани

27.08.2018    16562    32    dsdred    13       

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

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

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

1 стартмани

13.08.2018    17843    17    dsdred    0       

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

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

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

5 стартмани

09.08.2018    15975    23    informa1555    26       

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

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

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

1 стартмани

25.05.2018    15589    219    leongl    15       

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

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

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

1 стартмани

24.04.2018    28819    74    kalyaka    34       

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

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

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

1 стартмани

17.04.2018    14323    36    ivanov660    11       

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

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

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

10 стартмани

15.03.2018    11115    28    33lab    0       

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

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

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

1 стартмани

12.02.2018    16823    55    t.v.s.    41       

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

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

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

1 стартмани

03.01.2018    20499    2    kraynev-navi    40       

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

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

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

1 стартмани

18.11.2017    20185    25    bonv    6       

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

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

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

1 стартмани

09.11.2017    17066    79    freelancer    4       

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

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

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

1 стартмани

24.09.2017    32425    17    vandalsvq    79       

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

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

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

1 стартмани

29.08.2017    22541    17    ivanov660    46       

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

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

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

1 стартмани

28.06.2017    27722    321    Synoecium    47       

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

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

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

1 стартмани

19.06.2017    18290    24    Stepa86    45       

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

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

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

1 стартмани

08.06.2017    17131    32    stas_ganiev    13       

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

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

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

1 стартмани

28.05.2017    18206    144    Bassgood    10       

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

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

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

1 стартмани

22.05.2017    24272    99    Silenser    33       

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

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

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

1 стартмани

13.03.2017    23158    112    romasna    47       

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

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

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

1 стартмани

09.02.2017    15856    5    Stepa86    22       

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

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

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

1 стартмани

01.02.2017    20070    41    Stepa86    20       

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

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

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

2 стартмани

23.01.2017    10496    72    PavelLapin    26       

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

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

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

1 стартмани

11.11.2016    22796    63    grumagargler    47       

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

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

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

1 стартмани

23.10.2016    23663    19    json    22       

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

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

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

1 стартмани

03.10.2016    28511    102    json    25       

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

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

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

1 стартмани

02.10.2016    49459    474    BlizD    286       

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

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

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

3 стартмани

19.08.2016    34498    299    hlopik    16       

Hello world на metadata.js 249

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

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

1 стартмани

11.08.2016    48776    115    unpete    205       

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

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

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

1 стартмани

28.07.2016    26369    28    c1nil    4       

Лекарство на случай, если перестала работать форма списка для сделок. (ERP). 1

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

Форма списка справочник сделки стала выпадать с ошибкой?  Или все еще в порядке, но хочется спокойно съездить в отпуск, без паники, что менеджеры устроят бунт.

1 стартмани

28.07.2016    16946    milkers    2