Публикации

БСП
Разработки

Найдено публикаций: 12

bolsun 37 4

Сервер взаимодействия 1С на Python

Разработай сервер взаимодействия для 1C на Python за 5 часов!
bolsun 37 4
-10%

WooCommerce 1C. Интеграция 1C с интернет магазином на WordPress. Курс

WooCommerce 1с. Научись интегрировать 1С с популярным интернет магазином на WordPress
bolsun 37 4
-10%

Импорт файла полного бэкапа из SQLExpress в LocalDB

bolsun 37 4
//Сначала выполняем запрос
RESTORE FILELISTONLY
FROM DISK = 'E:\DB\full_backup'

//Смотрим в результатах LogicalName, заменяем его и затем выполняем такой запрос

RESTORE DATABASE MyDatabase
FROM DISK = 'E:\DB\full_backup'

WITH MOVE 'LogicalName' TO 'E:\DB\MyDatabase.mdf',
MOVE 'LogicalName_log' TO 'E:\DB\MyDatabase_log.ldf',
REPLACE;

СКД. Повторение шапки отчета на каждой странице

Как вывести шапку отчёта на каждой странице средствами СКД? То есть не формируя отчёт программно. О программных решениях есть достаточно информации, но хочется знать как это сделать самим компоновщиком. Отвечал на подобный вопрос на Инфостарте, настройки к...
bolsun 37 4

TurboConf Клиент

Программа TurboConf Клиент расширяет возможности конфигуратора. Добавляет "ТурбоПоиск", который ищет сразу по нескольким источникам данных: сервису FastCode, библиотеке стандартных подсистем (БСП) и каталогу разработок TurboStore.
bolsun 37 4
Бесплатно

OneTracker - трекер учета рабочего времени программиста 1С

Программа автоматически замеряет время работы разработчика с 1С в режиме Конфигуратора или Предприятия. Учет ведется в разрезах задач, информационных баз или объектов конфигураций.
bolsun 37 4
990 руб.

OneScript

OpenSource инструмент автоматизации для специалистов по 1С. Проект является независимой кросс-платформенной реализацией виртуальной машины, исполняющей скрипты на языке 1С:Предприятие.
bolsun 37 4
Бесплатно

УТ11 Счет на оплату из реализации

Печать из реализации, без типовых ограничений, номер и дата из документа реализации
bolsun 37 4
Бесплатно

Обмен с системой Меркурий через Web + Ветис.API для любых конфигураций (универсальная конфигурация Хамелеон Меркурий)

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий(тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше(достаточно снять галочку: свойства конфигурации и можно пользоваться всеми преимуществами из своей привычной учетной системы). Основное отличие от других решений - полностью открытый код, работа через веб-интерфейс и API 2.0. Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.
bolsun 37 4
25 000 руб.

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз

Быстрое и надежное обновление файловых и серверных баз, защита от шифровальщиков, автоматическое обновление доработанных конфигураций и расширений, а также многое другое.
bolsun 37 4
950 руб.

Нетленка 1С - защита конфигураций

Защита конфигураций и обработок 1С 8.3
bolsun 37 4
9 900 руб.

Записать текст в файл

bolsun 37 4
&НаКлиенте
Процедура ЗаписатьТекстовыйФайл(ИмяФайла, Текст)
	
	ТекстовыйФайл = Новый ТекстовыйДокумент;
 
    ТекстовыйФайл.УстановитьТекст(Текст);
	
	//ТекстовыйФайл.ДобавитьСтроку(""); 
    
    ТекстовыйФайл.Записать(ИмяФайла,
        КодировкаТекста.UTF8
    );
	
КонецПроцедуры

Прочитать текст из файла

bolsun 37 4
&НаКлиенте
Функция ПрочитатьТекстовыйФайл(ИмяФайла)
	
	ТекстовыйФайл = Новый ТекстовыйДокумент;
 
    ТекстовыйФайл.Прочитать(ИмяФайла,
        КодировкаТекста.UTF8
    );
	
	Возврат ТекстовыйФайл.ПолучитьТекст();
	
КонецФункции

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

Выполняет запуск внешнего процесса, с оповещением и ожиданием результата
bolsun 37 4
&НаКлиенте
Процедура КомандаВыполнитьПрограмму(Команда)
	
	СтрокаЗапуска = "C:\Application.exe";
	
	НачатьЗапускПриложения(Новый ОписаниеОповещения("НачатьЗапускПриложенияЗавершение", ЭтотОбъект), СтрокаЗапуска,, Истина);
	
КонецПроцедуры  

&НаКлиенте
Процедура НачатьЗапускПриложенияЗавершение(КодВозврата, ДополнительныеПараметры) Экспорт 
    
    //Вставить обработку завершения выполнения
    
КонецПроцедуры

Поместить текст в буфер обмена

Устанавливает текст в буфер обмена
bolsun 37 4
Процедура УстановитьТекстВБуферОбмена(Текст) Экспорт
  #Если Клиент Тогда
    COMОбъект = Новый COMОбъект("htmlfile");
    COMОбъект.ParentWindow.ClipboardData.SetData("Text", Текст);
  #КонецЕсли
КонецПроцедуры

FastCode - бесплатный сервис для программистов 1С

Огромная база полезных шаблонов кода, статьи, курсы, интересные разработки, поиск по БСП, ответы на вопросы, помощь сообщества разработчиков. Клиент для поиска прямо в Конфигураторе!
bolsun 37 4
Бесплатно

TurboConf - расширение Конфигуратора 1С

TurboConf повышает эффективность работы в Конфигураторе 1С и помогает программисту автоматизировать свои задачи.
bolsun 37 4
5 000 руб.

Запрос через COM из .NET

Создает и выполняет запрос 1С через COM соединение
bolsun 37 4
class Program
    {
        static void Main(string[] args)
        {
            var v8comConnector = Type.GetTypeFromProgID("V83.ComConnector");
            var v8 = Activator.CreateInstance(v8comConnector);
            Object[] arguments = { @"File=""C:\Users\user\Documents\InfoBase2\"";" };
            var x = v8comConnector.InvokeMember("Connect", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v8, arguments);
            var query = InvokeObjectMethod(v8, x, "NewObject", new Object[] { "Запрос" });
            SetObjectProperty(v8, query, "Текст", new Object[] { "ВЫБРАТЬ Справочник1.Наименование ИЗ Справочник.Справочник1 КАК Справочник1" });
            var result = InvokeObjectMethod(v8, query, "Выполнить", new Object[] { });
            var selection = InvokeObjectMethod(v8, result, "Выбрать", new Object[] { });
            while ((bool)InvokeObjectMethod(v8, selection, "Следующий", new Object[] { }))
            {
                var name = GetObjectProperty(v8, selection, "Наименование");
                Console.WriteLine("Наименование: " + name);
            }
        }

        public static object GetObjectProperty(object v8, object refObject, string propertyName)
        {
            return v8.GetType().InvokeMember(propertyName, BindingFlags.GetProperty, null, refObject, null);
        }

        public static object SetObjectProperty(object v8, object refObject, string propertyName, Object[] value)
        {
            return v8.GetType().InvokeMember(propertyName, BindingFlags.SetProperty, null, refObject, value);
        }

        public static object InvokeObjectMethod(object v8, object refObject, string methodName, Object[] parameters)
        {
            return v8.GetType().InvokeMember(methodName, BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, refObject, parameters);
        }
    }

ПрочитатьXMLВТаблицу

Преобразует текст формата XML в таблицу значений, при этом колонки таблицы формируются на основе описания в XML.
bolsun 37 4
// Преобразует текст формата XML в таблицу значений,
// при этом колонки таблицы формируются на основе описания в XML.
//
// Параметры:
//  ТекстXML     - текст в формате XML.
//
// Схема XML:
//<?xml version="1.0" encoding="utf-8"?>
//<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
//  <xs:element name="Items">
//	<xs:complexType>
//	  <xs:sequence>
//		<xs:element maxOccurs="unbounded" name="Item">
//		  <xs:complexType>
//			<xs:attribute name="Code" type="xs:integer" use="required" />
//			<xs:attribute name="Name" type="xs:string" use="required" />
//			<xs:attribute name="Socr" type="xs:string" use="required" />
//			<xs:attribute name="Index" type="xs:string" use="required" />
//		  </xs:complexType>
//		</xs:element>
//	  </xs:sequence>
//	  <xs:attribute name="Description" type="xs:string" use="required" />
//	  <xs:attribute name="Columns" type="xs:string" use="required" />
//	</xs:complexType>
//  </xs:element>
//</xs:schema>
//
// Примеры XML-файлов см. в демонстрационной конфигурации.
// 
// Пример использования:
//   КлассификаторТаблица = ПрочитатьXMLВТаблицу(РегистрыСведений.АдресныйКлассификатор.
//       ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст());
//
// Возвращаемое значение:
//  ТаблицаЗначений.
//
Функция ПрочитатьXMLВТаблицу(ТекстXML) Экспорт
	
	Чтение = Новый ЧтениеXML;
	Чтение.УстановитьСтроку(ТекстXML);
	
	// Прочитаем первый узел и проверим его
	Если Не Чтение.Прочитать() Тогда
		ВызватьИсключение("Пустой XML");
	ИначеЕсли Чтение.Имя <> "Items" Тогда
		ВызватьИсключение("Ошибка в структуре XML");
	КонецЕсли;
	
	// Получим описание таблицы и создадим ее
	ИмяТаблицы = Чтение.ПолучитьАтрибут("Description");
	ИменаКолонок = СтрЗаменить(Чтение.ПолучитьАтрибут("Columns"), ",", Символы.ПС);
	Колонок = СтрЧислоСтрок(ИменаКолонок);
	
	ТаблицаЗначений = Новый ТаблицаЗначений;
	Для Сч = 1 По Колонок Цикл
		ТаблицаЗначений.Колонки.Добавить(СтрПолучитьСтроку(ИменаКолонок, Сч), Новый ОписаниеТипов("Строка"));
	КонецЦикла;
	
	// Заполним значения в таблице
	Пока Чтение.Прочитать() Цикл
		
		Если Чтение.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
			Продолжить;
		ИначеЕсли Чтение.Имя <> "Item" Тогда
			ВызватьИсключение("Ошибка в структуре XML");
		КонецЕсли;
		
		новСтр = ТаблицаЗначений.Добавить();
		Для Сч = 1 По Колонок Цикл
			ИмяКолонки = СтрПолучитьСтроку(ИменаКолонок, Сч);
			новСтр[Сч-1] = Чтение.ПолучитьАтрибут(ИмяКолонки);
		КонецЦикла;
		
	КонецЦикла;
	
	// Заполним результат
	Результат = Новый Структура;
	Результат.Вставить("ИмяТаблицы", ИмяТаблицы);
	Результат.Вставить("Данные", ТаблицаЗначений);
	
	Возврат Результат;
	
КонецФункции // ПрочитатьXMLВТаблицу()

ЗаполнитьМассивУникальнымиЗначениями

Заполняет массив-приемник уникальными значениями из массива-источника.
bolsun 37 4
// Заполняет массив-приемник уникальными значениями из массива-источника.
// Если элемент в массиве-приемнике уже существует, то добавления нового элемента не происходит.
//
// Параметры:
//  МассивПриемник – Массив – массив, который заполняется уникальными значениями
//  МассивИсточник – Массив – массив, из которого подбираются элементы в массив-приемник.
// 
Процедура ЗаполнитьМассивУникальнымиЗначениями(МассивПриемник, МассивИсточник) Экспорт
	
	Для Каждого Элемент Из МассивИсточник Цикл
		
		Если МассивПриемник.Найти(Элемент) = Неопределено Тогда
			
			МассивПриемник.Добавить(Элемент);
			
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры