Работа с Конвертацией данных 1С 2.1

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

Разработка - Практика программирования

конвертация данных ключевые особенности работы перечисления пример работа с конвертацией структура в пкс

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

Для краткого ознакомления, что такое конвертация, можно перейти по ссылке: //infostart.ru/1c/articles/659090/

Для информации по формированию ПКС есть статья: //infostart.ru/1c/articles/413178/

 Просто классный тортик 

Настройки Конвертации

 

Методы Конвертации (слева на Рис.1: перед выгрузкой, перед загрузкой и тп.) обрабатываются раньше, чем в ПВД или ПКО. 

Рис. 1

 

Параметры конвертации.

Общая информация: Параметры - Структура, в которой хранятся переменные доступные во всех обработчиках.

 

Первый пример:

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

План обмена Зарплата -> Бухгалтерия Рис. 2 (режим Конфигуратор ЗУП 3.1):

Рис. 2

 

При этом в правилах обмена параметры не заданы:

Рис. 3

 

В обработчике "Перед получением измененных" добавим их значение в структуру "Параметры" (из плана обмена на Рис. 1).

Рис. 4

И далее можем обратиться к этой структуре "Параметры" из любого обработчика.

Рис. 5

 

Второй пример:

Параметры заданы в правилах (Рис.6).

Это типовые правила ЗУП 2.5 -> Бух 3.0, параметры ИНН и КПП заполняются программно в форме обработки "Выгрузка данных в бухгалтерскую программу" (режим Конфигуратор ЗУП 2.5). 

Далее Параметры используются при загрузке в БУХ 3.0.

Рис. 6

 

Перед загрузкой объекта выполняется проверка в ту ли базу загружаются данные. Если организация не найдена, происходит отмена загрузки (Рис.7):

Рис. 7

 

Пример отмены обмена с тестовой базой.

 

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

Рис. 8

 

ПВД

 

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

 

Первый пример:

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

Результат = Запрос.Выполнить();

Если Результат.Пустой() Тогда
	Отказ = Истина;
КонецЕсли;

ВыборкаДанных = Результат.Выгрузить();

Табличные части так же можно включить в запрос, в примере это табличная часть "Начисления."

Если в базе приемнике реквизиты называются иначе, их нужно назвать верными наименованиями после слова "КАК".

 

Второй пример:

Рис. 9

 

 В ПВД в обработчике "Перед выгрузкой", чтобы не выгружать непроведенные объекты, можно указать:

Отказ = Не Объект.Проведен;

 

 В ПВД в обработчике "Перед выгрузкой", чтобы не выгружать группы, можно указать:

Отказ = Объект.ЭтоГруппа;

 

 

ПКО/ПКС

 

 Установка своего Значения (Вариант 1).

В в табличной части документа "ПриемНаРаботуВОрганизацию" есть реквизит "ВидРасчета" для которого правилом конвертации является ПКО "ОсновныеНачисленияОрганизаций":

Рис. 10

 

Создавать новые ВидыРасчетов в базе загрузки из базы выгрузки я не хочу (отключаю поиск по "Коду", "Пометка на удаление" мне тоже не интересна), пытаюсь найти объекты по Наименованию:

Рис. 11

и в случае, если Наименование определенное, то присваиваю ему другое значение (другими словами. устанавливаю соответствие):

Рис. 12

 

 Установка своего Значения (Вариант 2).

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

Рис. 13

 

Наименование имеет тип "Строка", поэтому Значение задано строкой:

Рис. 14

 

 Задать своё значение реквизиту табличной части в ПКС, использование Алгоритма, задать другое ПКО.

Если условие "Получить из входящих данных" установлено у группы свойств (табличной части), тогда у самих свойств (реквизитов) этот флаг ставить не обязательно:

Рис. 15

 

Правило у СубконтоДт2 не указано, оно устанавливается программно:

Рис. 16

 

Обратиться к строке табличной части можно с помощью переменной "ОбъектКоллекции".

 

В алгоритме "ПолучитьПКОСубконтоПоТипуЗначения" прописаны ПКО для СубконтоДт2, поскольку в зависимости от счета второе субконто может быть любого типа.

 

Алгоритм "ПолучитьПКОСубконтоПоТипуЗначения" выглядит вот так:

Рис. 17

 

Если в результате получаем ИмяПКО = "", отключаем ПКС (Отказ = Истина;), удобно для случаев, когда в одном документе есть реквизит, а в другом - нет. Например, подобная ситуация возникает, если в одной настройке плана обмена ЗУП 2.5 установлен обмен с Бухгалтерией 7.7, а в другой - Бухгалтерия 3.0

 

 Несколько часто используемых строчек кода в ПКО.

Перед выгрузкой:

РежимЗаписи = "Проведение";

При загрузке:

Отказ = ОбъектНайден;

После загрузки:

Объект.Ответственный = Пользователи.ТекущийПользователь();

 

 Для кода можно воспользоваться следующим кодом:

Значение = ПривестиНомерКДлине(Источник.НомерДок,8);

 

 Найти ссылку в приёмнике, которой нет в источнике.

Пример приведён, чтобы показать все возможности конвертации.

Предположим, в источнике есть информация о табельном номере сотрудника, мне необходимо определить сотрудника:

Рис. 18

 

Вариант 1 приведен с целью, чтобы показать идею. Но, поскольку запрос в цикле - это зло, смотри Вариант 2 :)

В запросе установите галочку: 

Рис. 19

 

 Конвертация перечисления.

ПКО для перечисления не нужно, можно просто указать его Значение.

Рассмотрим простейший пример:

Рис. 20

ПКС такого перечисления:

Рис. 21

 Передать данные в параметр.

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

Рис. 22

 

Далее при загрузке используем код:

ПараметрыОбъекта.Получить("ИмяПараметра")

Рис. 23

 

 Использование параметра в табличной части.

 

В табличной части "ОтражениеВУчете" добавим параметр "ВидРезерва" и зададим ему нужное нам значение.

Рис. 24

 

Далее после загрузки объекта можем обратиться к параметрам любым способом.

Я привела два примера:

Рис. 25

Код из Рис. 25:

ТаблицаПараметровТовары = ПараметрыОбъекта["ОтражениеВУчетеТабличнаяЧасть"];

1. МассивПараметровИзТЧ = ТаблицаПараметровТовары.ВыгрузитьКолонку("ВидРезерва");

ИЛИ

2. ТЗОтражениеВУчете = Объект.ОтражениеВУчете.Выгрузить();
ТЗОтражениеВУчете.Колонки.Добавить("ВидРезерва",Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(6)));
ТЗОтражениеВУчете.ЗагрузитьКолонку(ТаблицаПараметровТовары.ВыгрузитьКолонку("ВидРезерва"),"ВидРезерва");

 

 Выгрузка структуры в ПКС.

 

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

Пример:

Если выполняется какое-либо условие, то при выгрузке в договоре Владелец будет другой.

Рис. 26

Если, условие перестаёт выполняться, "Договор контрагента" выгружается стандартным образом.

 

 Выгрузка по какому-либо правилу.

Вдогонку выгрузки структур из пункта 15, рассмотрим следующий пример.

На основании документа "Отражение зарплаты в бухучете" в ЗУП 3.1 формируется одноимённый документ в БУХ 3.0.

Так же было принято решение формировать платежные поручения по алиментам и выплатам налогов в фонды.

Соответственно при повторной загрузке важно найти документ "Платежное поручение" в системе-приёмнике и логично, что не может быть несколько документов с одинаковым УИД.

 

Итак, в ПКО в обработчике "После выгрузки в файл" сформируем выгрузку налогов по каждому фонду:

Рис. 27

Весь код из Рис.27:

Если Источник.ВыгрузитьПлатежноеПоручениеВБухгалтерию Тогда
	
	ВходящиеДанные = Новый Структура;
	
	//ПФР
	ВходящиеДанные.Вставить("ВидНалога", "СтраховыеВзносы_ПФР_СтраховаяЧасть");
	ВходящиеДанные.Вставить("ВидНалоговогоОбязательства", "Налог");
	ВходящиеДанные.Вставить("УИДОтраженияИлиПеречисления", Источник.УИДОтраженияИлиПеречисления);
	ВходящиеДанные.Вставить("ИдентификаторДокумента", ""); 
	ВходящиеДанные.Вставить("НазначениеПлатежа", "");
	ВходящиеДанные.Вставить("СтавкаНДС", "");
	ПФР = Источник.НачисленнаяЗарплатаИВзносы.Итог("ПФРДоПредельнойВеличины") + Источник.НачисленнаяЗарплатаИВзносы.Итог("ПФРСПревышения");
	ВходящиеДанные.Вставить("СуммаДокумента", ПФР);
	ВходящиеДанные.Вставить("ВидПеречисленияВБюджет", "ИнойПлатеж");
	ВходящиеДанные.Вставить("ВидОперации", "ПеречислениеНалога");
	ВходящиеДанные.Вставить("ОчередностьПлатежа", 5);
	ВходящиеДанные.Вставить("ПеречислениеВБюджет", Истина);
	ВходящиеДанные.Вставить("Контрагент", "");
	ВходящиеДанные.Вставить("ПоследовательностьЗагружаемогоДокумента", 1);
	ВходящиеДанные.Вставить("ПериодРегистрации", Источник.ПериодРегистрации);
	ВыгрузитьПоПравилу(Источник,,ВходящиеДанные,,"ПлатежноеПоручение",,Ложь); 	
	
	//ФСС
	ВходящиеДанные.Вставить("ВидНалога", "СтраховыеВзносы_ФСС");
	ВходящиеДанные.Вставить("СуммаДокумента", Источник.НачисленнаяЗарплатаИВзносы.Итог("ФСС"));
	ВходящиеДанные.Вставить("ПоследовательностьЗагружаемогоДокумента", 2);
	ВыгрузитьПоПравилу(Источник,,ВходящиеДанные,,"ПлатежноеПоручение",,Ложь); 	
	
	//ФСС НС и ПЗ
	ВходящиеДанные.Вставить("ВидНалога", "СтраховыеВзносы_ФСС_НСиПЗ");
	ВходящиеДанные.Вставить("СуммаДокумента", Источник.НачисленнаяЗарплатаИВзносы.Итог("ФССНесчастныеСлучаи"));
	ВходящиеДанные.Вставить("ПоследовательностьЗагружаемогоДокумента", 3);
	ВыгрузитьПоПравилу(Источник,,ВходящиеДанные,,"ПлатежноеПоручение",,Ложь); 	
	
	//ФФОМС
	ВходящиеДанные.Вставить("ВидНалога", "СтраховыеВзносы_ФФОМС");
	ВходящиеДанные.Вставить("СуммаДокумента", Источник.НачисленнаяЗарплатаИВзносы.Итог("ФФОМС"));
	ВходящиеДанные.Вставить("ПоследовательностьЗагружаемогоДокумента", 4);
	ВыгрузитьПоПравилу(Источник,,ВходящиеДанные,,"ПлатежноеПоручение",,Ложь); 	
	
	//Алименты
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата.Контрагент КАК Контрагент,
		|	ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата.Сумма КАК Сумма,
		|	ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата.Ссылка.ПериодРегистрации КАК ПериодРегистрации
		|ИЗ
		|	Документ.ОтражениеЗарплатыВБухучете.УдержаннаяЗарплата КАК ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата
		|ГДЕ
		|	ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата.Ссылка = &Ссылка
		|	И ОтражениеЗарплатыВБухучетеУдержаннаяЗарплата.ВидОперации В(&ВидыОпераций)";
	
	ВидыОпераций = Новый Массив;
	ВидыОпераций.Добавить(Перечисления.ВидыОперацийПоЗарплате.АлиментыПрочиеИсполнительныеЛисты);
	ВидыОпераций.Добавить(Перечисления.ВидыОперацийПоЗарплате.АлиментыПрочиеИсполнительныеЛистыКонтрагенты);
	Запрос.УстановитьПараметр("ВидыОпераций", ВидыОпераций);
	Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	ПоследовательностьЗагружаемогоДокумента = 5;
	
	Пока Выборка.Следующий() Цикл
		ВходящиеДанные.Вставить("СуммаДокумента", Выборка.Сумма);
		ВходящиеДанные.Вставить("Контрагент", Выборка.Контрагент);
		ВходящиеДанные.Вставить("ВидОперации", "ПрочиеРасчетыСКонтрагентами");
		ВходящиеДанные.Вставить("ОчередностьПлатежа", 1);
		ВходящиеДанные.Вставить("ПеречислениеВБюджет", Ложь);
		ТекстСумма = "Сумма " + Формат(Выборка.Сумма, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧН=0-00; ЧГ=");
		НазначениеПлатежа = "Перечисление алиментов из зарплаты сотрудника " + 
			Выборка.ФизическоеЛицо+" за " + НРег(Формат(Выборка.ПериодРегистрации, "ДФ='ММММ yyyy'")) + Символы.ПС + 
			ТекстСумма + Символы.ПС + 
			"Без налога (НДС)";
		ВходящиеДанные.Вставить("НазначениеПлатежа", НазначениеПлатежа);
		ВходящиеДанные.Вставить("ПоследовательностьЗагружаемогоДокумента", ПоследовательностьЗагружаемогоДокумента);
		ВходящиеДанные.Вставить("СтавкаНДС", "БезНДС");
		ВходящиеДанные.Вставить("ПериодРегистрации", Источник.ПериодРегистрации);
		ВыгрузитьПоПравилу(Источник,,ВходящиеДанные,,"ПлатежноеПоручение",,Ложь);
		ПоследовательностьЗагружаемогоДокумента = ПоследовательностьЗагружаемогоДокумента + 1;
	КонецЦикла;
		
КонецЕсли;

 

В ПКО "Платежное поручение" часть ПКС получаем из входящих данных:

Рис. 28

 

Каждое перечисление в загружается с новым произвольным УИД, не связанным с документом источником. Поиск будет осуществляться по двум дополнительным сведениям документа "Платежное поручение" и для этого их добавим:

УИДОтраженияИлиПеречисления                     : Строка(36)

ПоследовательностьЗагружаемогоДокумента   : Число(2,0)

 

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

 

ОбъектНайден = Ложь;

Если ЗначениеЗаполнено(ПараметрыОбъекта.Получить("УИДОтраженияИлиПеречисления")) Тогда
	
	ПВХ_УИДОтраженияИлиПеречисления = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("ИдентификаторДляФормул", "УИДОтраженияИлиПеречисления");
	ПВХ_ПоследовательностьЗагружаемогоДокумента = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("ИдентификаторДляФормул", "ПоследовательностьЗагружаемогоДокумента");
	
	Знач_УИДОтраженияИлиПеречисления = Строка(ПараметрыОбъекта.Получить("УИДОтраженияИлиПеречисления"));
	Знач_ПоследовательностьЗагружаемогоДокумента = ПараметрыОбъекта.Получить("ПоследовательностьЗагружаемогоДокумента");
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ДополнительныеСведения.Объект КАК Объект
	|ПОМЕСТИТЬ ВТ_Объект
	|ИЗ
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
	|ГДЕ
	|	ДополнительныеСведения.Свойство = &ПВХ_УИДОтраженияИлиПеречисления
	|	И ДополнительныеСведения.Значение = &Знач_УИДОтраженияИлиПеречисления
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ДополнительныеСведения.Объект КАК Объект
	|ИЗ
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
	|ГДЕ
	|	ДополнительныеСведения.Свойство = &ПВХ_ПоследовательностьЗагружаемогоДокумента
	|	И ДополнительныеСведения.Значение = &Знач_ПоследовательностьЗагружаемогоДокумента
	|	И ДополнительныеСведения.Объект В
	|			(ВЫБРАТЬ
	|				ВТ_Объект.Объект КАК Объект
	|			ИЗ
	|				ВТ_Объект КАК ВТ_Объект)";
	
	Запрос.УстановитьПараметр("ПВХ_УИДОтраженияИлиПеречисления", ПВХ_УИДОтраженияИлиПеречисления);
	Запрос.УстановитьПараметр("ПВХ_ПоследовательностьЗагружаемогоДокумента", ПВХ_ПоследовательностьЗагружаемогоДокумента);
	Запрос.УстановитьПараметр("Знач_УИДОтраженияИлиПеречисления", Знач_УИДОтраженияИлиПеречисления);
	Запрос.УстановитьПараметр("Знач_ПоследовательностьЗагружаемогоДокумента", Знач_ПоследовательностьЗагружаемогоДокумента);
	
	СсылкаНаОбъект = Документы.ПлатежноеПоручение.ПустаяСсылка();
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		СсылкаНаОбъект = Выборка.Объект;
	КонецЕсли;
	
	ПрекратитьПоиск = Истина;
	
Иначе	
	
	СсылкаНаОбъект = Документы.ПлатежноеПоручение.ПолучитьСсылку(ПараметрыОбъекта.Получить("ИдентификаторДокумента"));
	Если СсылкаНаОбъект.ПолучитьОбъект() = Неопределено Тогда
		
		СсылкаНаОбъект = Неопределено; 
		СвойстваПоиска.Вставить("{УникальныйИдентификатор}", ПараметрыОбъекта.Получить("ИдентификаторДокумента"));
		ПрекратитьПоиск = Истина;
		
	КонецЕсли;
	
КонецЕсли;

Параметр "ИдентификаторДокумента" нужен для другого документа, пример которого нет смысла приводить. 

 

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

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

 

 

 Общая информация

 

Запросы размещаются на закладке "Алгоритмы\Запросы" без кавычек.

 

Чтобы получить текст запроса, нужно указать код:

ТекстЗапроса = Запросы.Прием.Текст;

 

Для выполнения алгоритма:

Выполнить(Алгоритмы.ДатаЗапретаВыгрузки);

 

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

 

Конвертация документа "Перенос данных", или, например "Операция" (Перенос движений документа).

В выгрузке описания структуры установите галочку, как показано на рис. ниже.

Далее в конвертации данных:

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Sergafan10 17.03.17 08:45 Сейчас в теме
Становится мене актуальным, в связи с КД 3.
2. TODD22 18 17.03.17 08:49 Сейчас в теме
(1)И что там стало менее актуально?
КД 3 это не замена КД2.
user1050439; LeXXeR; mark_oilbass; elga2012; always_newbie; mifort; fomix; Gendelf; kolya_tlt; sagatel; vovan_victory; artmakc; user774630; smit1c; wowik; Артано; Kesak; red80; OVladius; pm74; DrAku1a; Dementor; serg_infostart; Zeskord; maxdmt; dj_serega; Westbound; +27 Ответить
3. dj_serega 376 17.03.17 09:41 Сейчас в теме
(1) КД3 еще лет 5 будет раскручиваться.
А еще остались 7.7 и нужно делать выгрузку из них... Поэтому... Пока жива 7.7 и будет жить КД2 ;)
13. MaxS 2173 05.04.17 04:45 Сейчас в теме
(3)
Поэтому... Пока жива 7.7 и будет жить КД2
Не факт. )) Уже появилась одна публикация для связи 1С 7.7 через EnterpriseData.
Но всё равно КД2 останется, т.к. возможности безграничны, в отличие от КД3, где ограничен формат.
4. unichkin 1348 17.03.17 10:50 Сейчас в теме
в п.1 лишнее
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
	Отказ = Истина
КонецЕсли;


ВыборкаДанных = РезультатЗапроса.Выгрузить();

Можно сразу:
ВыборкаДанных = Запрос;


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

Запросы.Прием.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
Запросы.Прием.УстановитьПараметр("ДатаОкончания",	КонецДня(ДатаОкончания));
ВыборкаДанных =Запросы.Прием;


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

в п.5 запрос в цикле + см. п.2

п.6 тяжеловато
ОбъектКоллекции.СчетДт.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыПоСоциальномуСтрахованию)

п.7 не понял смысла
"При загрузке:
Отказ = ОбъектНайден;"
- т.е. если объект найден, то не обновлять? Там галка есть у ПКО "Не замещать существующие объекты в приемнике..."
п.8 - а как эти объекты уйдут из таблицы регистрации изменений? Их туда и помещать не надо, если они не должны выгружаться.

Почему-то когда дело касается КД люди сразу забывают о том что такое точка. Вообще, все это довольно субъективно.
5. unichkin 1348 17.03.17 11:21 Сейчас в теме
Про п.1 - зачеркнуть, это дубль про п.2
6. d4rkmesa 17.03.17 12:30 Сейчас в теме
Плохо все-таки писать РежимЗаписи = "Проведение" в обработчике, нужно пользоваться механизмом отложенного проведения, либо вынести проведение всех документов отдельно в обработчик "после загрузки данных", хотя для каких-то простых документов сойдет. Остальное имеет право на жизнь, нюансы реализации не так важны в целом.
sagatel; jobkostya1c8; CSiER; +3 Ответить
7. vano-ekt 848 17.03.17 21:44 Сейчас в теме
в обработчики ПКС/ПВД понапихают запросов, а потом ждут пока обмен час пройдет
Rollam; корум; oleganatolievich; DrAku1a; unichkin; dj_serega; +6 2 Ответить
8. serg_infostart 346 21.03.17 15:19 Сейчас в теме
(7) в ПКС не увидел, что понапихано...
В ПВД оно само собой разумеющееся.

(0) не хватает описания обработчиков Поля поиска.
jobkostya1c8; +1 Ответить
10. Zhilyakovdr 128 22.03.17 11:39 Сейчас в теме
(7) Запросы в ПВД вполне нормальное явление, в ПКС нет.
Гляньте типовые обмены, там и не такое увидите.
jobkostya1c8; Дмитрий74Чел; +2 Ответить
24. alex_bitti 113 09.09.19 11:11 Сейчас в теме
(7) обмен идет часами в основном из-за итогов в регистрах, в частности в бух долго грузятся реализации товаров при включенных итогах, запросы в правилах работают также как и стандартная выгрузка/загрузка практически, в стандартной тоже можно напихать параметров))
9. Zhilyakovdr 128 22.03.17 11:38 Сейчас в теме
ТекстЗапроса = Запросы.ОтражениеЗарплатыВРеглУчете.Текст;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Организация",	Данные.Организация);


меняем на

Запрос = Запросы.ОтражениеЗарплатыВРеглУчете;
Запрос.УстановитьПараметр("Организация",	Данные.Организация);


а можно и на
Запросы.ОтражениеЗарплатыВРеглУчете.УстановитьПараметр("Организация",	Данные.Организация);
11. Zhilyakovdr 128 22.03.17 11:42 Сейчас в теме
Все что вы описали в статье можно легко найти в типовых правилах и примерах в самой КД.
Пора потихоньку КД3 пользовать
12. Lem0n 220 04.04.17 23:10 Сейчас в теме
Удобное использование шаблонов обработчиков реализовано в http://infostart.ru/public/398595/ (см. видео с 9:46 и с 16:35),
14. Поручик 4485 15.05.17 11:09 Сейчас в теме
КД 2 ещё долго будет жить, потому что с ней намного легче накидать правила переноса. Попробуйте это сделать быстро с КД 3.
fomix; vovan_victory; wowik; jobkostya1c8; lefthander; +5 Ответить
15. q_i 425 16.05.17 15:52 Сейчас в теме
П.10, Вариант 2: какой текст запроса у Запросы.ПоискСотрудника2.Текст?
Есть подозрение, что "Объект.Работники.ЗагрузитьКолонку(Результат, "Сотрудник")" потенциально может загрузить сотрудников в неправильном порядке.
16. vovan_victory 63 30.01.19 10:11 Сейчас в теме
П.5. А зачем в цикле создавать объект запрос?
Для каждого СтрокаТД Из ТаблицаДанных Цикл

	ТаблицаПроводок = СтрокаТД.ОтражениеВУчете;  //1
	
	Для каждого СтрокаТП  Из ТаблицаПроводок Цикл
		
		Если МассивСчетовДТ<>Неопределено И МассивСчетовДТ.Найти(СтрокаТП.СчетДт) <> Неопределено И НЕ СтрокаТП.ПодразделениеДт.Родитель.Пустая() Тогда	//2				
			Запрос = Новый Запрос;


Может лучше:
//Создаем до цикла 1 раз
Запрос = Новый Запрос;

Для каждого СтрокаТД Из ТаблицаДанных Цикл

	ТаблицаПроводок = СтрокаТД.ОтражениеВУчете;  //1
	
	Для каждого СтрокаТП  Из ТаблицаПроводок Цикл
		
		Если МассивСчетовДТ<>Неопределено И МассивСчетовДТ.Найти(СтрокаТП.СчетДт) <> Неопределено И НЕ СтрокаТП.ПодразделениеДт.Родитель.Пустая() Тогда	//2				
		//А в цикле уже устанавливаем текст, параметры и выполняем
                //Да и текст запроса, если не меняется, тоже выносим из цикла.
			Запрос.Текст = Запросы.ПодразделениеОрганизацииРодитель.Текст;
			Запрос.УстановитьПараметр("Ссылка", СтрокаТП.ПодразделениеДт);
			РезультатЗапроса = Запрос.Выполнить();
Показать
17. perepetulichka 690 30.01.19 13:31 Сейчас в теме
(16) Это понятно, пользуюсь таким способом :) Пункт 5 показан просто как один из способов. Спасибо за комментарий!
18. AlexeyK1 14 16.04.19 15:14 Сейчас в теме
Здравствуйте, подскажите пожалуйста.
настраиваю конвертацию между двумя разными "переписанными" конфигурациями(УТ -> WMS) возникла проблема со справочниками.
в источнике
Номенклатура + ЕдиницаИзмерения
переносится в связку
Номенклатура + ЕдиницаИзмерения1 + ЕдиницаИзмерения2 вторая подчиненна первой, а Владелец у них один,
так вот когда переносим новую Номенклатуру не могу придумать как ЕдиницуИзмерения2 подчинить ЕдиницеИзмерения1 ведь на момент прогона ссылки у меня на ЕдиницуИзмерения1 не существует (если прогнать 2 раза "Загрузку", то все пучком, понимаю что это неправильно)
ЕдиницаИзмерения1 и ЕдиницаИзмерения2 переносятся не по ссылке, а создаются
Может кто то сталкивался с подобной проблемой, и есть возможность это побороть?
19. perepetulichka 690 16.04.19 16:31 Сейчас в теме
(18) я так понимаю, если вы из ЕдиницаИзмерения формируете ЕдиницаИзмерения1 и ЕдиницаИзмерения2, то все это делается в одном алгоритме.
Запросом проверяем есть ли объекты в системе (судя по всему ГУИД с источником или у одного элемента или не совпадает совсем, для удобства кстати можно в приёмнике добавить реквизит "ГУИДИсточника" объекту и по нему искать).
Затем если их нет, создаём первый, записываем его и второму Владельцем заполняем ссылку.

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

Или показывайте правила, как вы их создаёте.
20. AlexeyK1 14 17.04.19 10:41 Сейчас в теме
вот в ПКО при выгрузке Номенклатуры делаю выгрузить по правилу сразу создаю 2 ЕдиницыХранения, понимаю что такая ситуация что у меня нету GUID для этих элементов был бы GUID я бы его пихнул в сыль родителя второй ЕдиницыХранения и всё пучком было бы
ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("Владелец", Источник);
ВходящиеДанные.Вставить("Наименование", "Пар");
ВходящиеДанные.Вставить("Код", "0000000001");
ВходящиеДанные.Вставить("Родитель", "");
ВходящиеДанные.Вставить("Коэффициент", 1);
ВходящиеДанные.Вставить("КоэффициентКИС", Источник.абРазмерныйРяд.Количество);
ВходящиеДанные.Вставить("МодельСкладскогоУчета", "001");
ВходящиеДанные.Вставить("АктивнаяОбластьОтбора", "000000001");
ВходящиеДанные.Вставить("ОбластьРазмещения", "000000001");
ВходящиеДанные.Вставить("КлассЕдиницыХранения" ,"715");
ВходящиеДанные.Вставить("ОтборПоДатам" ,"НеВыполнять");
ВходящиеДанные.Вставить("РучноеРазмещение" ,"Истина");
ВыгрузитьПоПравилу(,,ВходящиеДанные,,"усЕдиницыХранения");


ВходящиеДанные1 = Новый Структура;
ВходящиеДанные1.Вставить("Наименование", "Короб(" + Строка(ВходящиеДанные.КоэффициентКИС) + ")");
ВходящиеДанные1.Вставить("Владелец", Источник);
ВходящиеДанные1.Вставить("Родитель",  "0000000001"); //понимаю что тут ссыль должна быть ВходящиеДанные, но какая ? прост вставить 
                                                                                 // ВыгрузитьПоПравилу(,,ВходящиеДанные,,"усЕдиницыХранения");?
ВходящиеДанные1.Вставить("Код", "0000000001");
ВходящиеДанные1.Вставить("Коэффициент", ВходящиеДанные.КоэффициентКИС);
ВходящиеДанные1.Вставить("КоэффициентКИС", ВходящиеДанные.КоэффициентКИС);
ВходящиеДанные1.Вставить("МодельСкладскогоУчета", "001");
ВходящиеДанные1.Вставить("АктивнаяОбластьОтбора", "000000001");
ВходящиеДанные1.Вставить("ОбластьРазмещения", "000000001");
ВходящиеДанные1.Вставить("КлассЕдиницыХранения" ,"778");
ВходящиеДанные1.Вставить("ОтборПоДатам" ,"НеВыполнять");
ВходящиеДанные1.Вставить("РучноеРазмещение" ,"Истина");

ВыгрузитьПоПравилу(,,ВходящиеДанные1,,"усЕдиницыХраненияКороба");

Показать


Сейчас понимаю что первую ЕдиницуХранения можно было привязать к ЕдиницеИзмерения в базе Источнике и его GUID юзать... но поезд ушел....
теперь походу придётся правила переписывать и завязываться на ЕдиницуИзмерения для первой ЕдиницыХранения... с проверкой на существование Единицы хранения старыми правилами
21. perepetulichka 690 17.04.19 11:51 Сейчас в теме
(20) но смотрите, вы перед выгрузкой по правилу выгружаете ЕдиницаИзмерения1 и ЕдиницаИзмерения2, а затем самим ПКО формируете Источник.
Следовательно в файле у вас сначала ЕдиницаИзмерения1 и ЕдиницаИзмерения2, а потом сама Номенклатура (владелец), система все записывает последовательно.
Как насчет переместить ваши структуры в модуль "После выгрузки"?
22. perepetulichka 690 17.04.19 11:55 Сейчас в теме
(21) правильнее в модуль "После выгрузки в файл".

Условия возникновения события
Событие выполняется после выгрузки объекта в файл обмена. Может быть использован для выгрузки дополнительной информации по выгруженному объекту в файл обмена. При этом информация будет записана в файл обмена после выгруженного объекта.
23. AlexeyK1 14 17.04.19 14:47 Сейчас в теме
25. alex_bitti 113 09.09.19 11:14 Сейчас в теме
отлично написано! такую бы статью лет 6 назад прочитать бы мне)) большинство приемчиков пришлось придумывать самому, похоже у всех так)
26. wowan ht 5 13.11.19 11:12 Сейчас в теме
Здравствуйте.
КД версия 2
Задача: выгрузить из источника записи Регистра сведений и в приемнике создать Документ на каждую запись.
В источнике отсутствует такой объект.
Создал ПВД с пустым объектом и произвольным запросом, результат которого попадает в ВыборкаДанных
Далее создал ПКО также с пустым источником, реквизиты приемника заполняю из выборки.
При использовании обработки "Универсальный обмен данными" все выгрузки-загрузки отрабатывают без проблем.

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

Можно как-то выкрутиться из данной ситуации?

Пробовал создавать ОписаниеОбъекта в ПВД - не прокатило
Пробовал вставлять запрос в обработчик "Перед получением измененных" - та же картина

Есть еще варианты?
Заранее спасибо
Оставьте свое сообщение

См. также

Звуковое управление в 1С 8.3 Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    2586    velemir    28    

Обзор полезных методов БСП 3.1.4

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

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

25.03.2021    10043    rayastar    45    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    5043    comol    26    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

30.08.2020    12306    quazare    34    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    38794    unichkin    74    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    42654    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    32325    John_d    22    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    24823    kuzyara    38    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    32530    tormozit    105    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    19515    YPermitin    60    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    10165    Sibars    19    

Полезные процедуры и функции для программиста

Практика программирования Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

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

07.10.2019    34153    HostHost    41    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    79684    tormozit    131    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

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

01.10.2019    42292    Yashazz    50    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    72045    rpgshnik    70    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    60778    ids79    55    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    50568    tormozit    48    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    34627    YPermitin    25    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

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

03.09.2019    27475    YPermitin    81    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

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

17.08.2019    37664    ids79    16    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    47410    tormozit    74    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    113623    ids79    67    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

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

02.08.2019    46462    avalakh    26    

Разбираемся с параметрами редактирования СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    31095    json    15    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

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

25.04.2019    16569    m-rv    2    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    80672    ids79    14    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    41065    ids79    27    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    29138    YPermitin    14    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    21193    m-rv    17    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    20619    SeiOkami    50    

Работа с настройками системы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

02.07.2019    63028    ids79    17    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    62554    ids79    26    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    32886    m-rv    22    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    27681    dmurk    146    

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

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    51631    YPermitin    30    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    38615    ellavs    127    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    28988    itriot11    34    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    28972    ellavs    90    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

21.03.2019    28436    barelpro    87    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    35468    YPermitin    53    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    78976    Serginio    113    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    24818    Vladimir Litvinenko    28    

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

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    48404    ids79    11    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    38481    ids79    40    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    29592    ids79    31    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    47020    ids79    81    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    40741    ids79    49    

Программное заполнение пользовательских параметров и отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.11.2018    59018    Unk92    26