Фокусы с Конвертацией данных 2.0

19.12.11

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Используем мощный инструмент Конвертации данных  себе во благо

Новый год по бухгалтерскому календарю опаздывает с натуральным на 3 месяца. Поэтому приходиться догружать данные. С базами 8 все просто. Есть поиск по внутреннему идентификатору. Но в 77 такого счастья нет. Сменили номер, дату и - привет лишним документам и старым хвостам. Как с этим бороться? Да очень просто. Можно воспользоваться дополнительными свойствами или регистром "Коллизии при обмене". Пример для передачи документа "Выписка банка" из Бух 77 в Бух 2.0 с использованием дополнительных свойств.

Что нам требуется

Передать, найти, переопределить, записать

Свойства избыточны, но зато бухгалтер сразу найдет в старой базе нужную информацию.

Передаем

Обработчик При выгрузке

УстановитьАтрибут(Приемник, "ВидДок", Источник.Вид());
УстановитьАтрибут(Приемник, "НомерДок", СокрЛП(Источник.НомерДок));
УстановитьАтрибут(Приемник, "ДатаДок", Формат(Источник.ДатаДок,"Д ГГГГммДД"));
УстановитьАтрибут(Приемник, "НомерСтроки", Строка(ВходящиеДанные.Получить("НомерСтроки")));
УстановитьАтрибут(Приемник, "ИНН", Константа.ИННОрганизации);

УстановитьАтрибут(Приемник, "ИД", ЗначениеВСтрокуВнутр(Источник));

Ищем

Обработчик Перед загрузкой

//Ищем объект по доп реквизитам

Параметры.Вставить("ДатаДок",Дата(ФайлОбмена.ПолучитьАтрибут("ДатаДок")));
Параметры.Вставить("НомерДок",ФайлОбмена.ПолучитьАтрибут("НомерДок"));
Параметры.Вставить("ВидДок",ФайлОбмена.ПолучитьАтрибут("ВидДок"));
Параметры.Вставить("ИНН",ФайлОбмена.ПолучитьАтрибут("ИНН"));
Параметры.Вставить("НомерСтроки",ФайлОбмена.ПолучитьАтрибут("НомерСтроки"));
Параметры.Вставить("ИД",ФайлОбмена.ПолучитьАтрибут("ИД"));
Параметры.Вставить("ОбъектНайден",Ложь);

Запрос=Новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ ПЕРВЫЕ 1
| Реквизиты.Объект,
| &ИНН как инн,
| Реквизиты.Свойство,
| Реквизиты.Значение,
| Виды.Значение КАК ВидДок,
| Даты.Значение КАК ДатаДок,
| Номера.Значение КАК НомерДок,
| НомераСтрок.Значение КАК НомерСтроки,
| ВнутреннийИдентификатор.Значение КАК ИД
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК Реквизиты
|  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК НомераСтрок
|  ПО Реквизиты.Объект = НомераСтрок.Объект
|   И (НомераСтрок.Свойство.Наименование = ""НомерСтроки"")
|  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ИННОрг
|  ПО Реквизиты.Объект = ИннОрг.Объект
|   И (ИннОрг.Значение = &ИНН)
|   И (ИннОрг.Свойство.Наименование = ""ИНН"")
|  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ВнутреннийИдентификатор
|  ПО Реквизиты.Объект = ВнутреннийИдентификатор.Объект
|   И (ВнутреннийИдентификатор.Значение = &ИД)
|   И (Виды.Свойство.Наименование = ""ИД"")
|ГДЕ
| ВЫБОР
|   КОГДА &НомерСтроки = 0
|    ТОГДА ИСТИНА
|   КОГДА НомераСтрок.Значение = &НомерСтроки
|    ТОГДА ИСТИНА
|   ИНАЧЕ ЛОЖЬ
|  КОНЕЦ";
Запрос.УстановитьПараметр("ВидДок",Параметры.ВидДок);
Запрос.УстановитьПараметр("ДатаДок",Параметры.ДатаДок);
Запрос.УстановитьПараметр("НомерДок",Параметры.НомерДок);
Запрос.УстановитьПараметр("ИНН",Параметры.ИНН);
Запрос.УстановитьПараметр("НомерСтроки",Параметры.НомерСтроки);
Запрос.УстановитьПараметр("ИД",Параметры.ИД);

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

Переопределяем если нашли

Обработчик  При загрузке

Если Параметры.ОбъектНайден=Истина Тогда
    //Стоит заметить, что при переопределении поля поиска не изменяются. Поэтому требуется прописать

    СтОбъект=Объект;

    ОбъектНайден=Истина;
    Объект=Параметры.Объект;

    Объект.Номер=СтОбъект.Номер;

    Объект.Дата=СтОбъект.Дата;
КонецЕсли;

И последнее - записываем

Обработчик После загрузки

Объект.Записать();

Свойства=ПланыВидовХарактеристик.СвойстваОбъектов;
СсылкаИНН =Свойства.НайтиПоНаименованию("ИНН");
СсылкаНомерДок =Свойства.НайтиПоНаименованию("НомерДок");
СсылкаДатаДок =Свойства.НайтиПоНаименованию("ДатаДок");
СсылкаВидДок =Свойства.НайтиПоНаименованию("ВидДок");
СвойстваДоков=ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы;
СсылкаНомерСтроки =Свойства.НайтиПоНаименованию("НомерСтроки"); 
СсылкаИД =Свойства.НайтиПоНаименованию("ИД");

Набор=РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
Набор.Отбор.Объект.Установить(Объект.Ссылка);
Набор.Прочитать();
Набор.Очистить();
//ИНН
Запись=Набор.Добавить();
Запись.Объект=Объект.Ссылка;
Запись.Свойство=СсылкаИНН;
Запись.Значение=Параметры.ИНН;
//НомерДок
Запись=Набор.Добавить();
Запись.Объект=Объект.Ссылка;
Запись.Свойство=СсылкаНомерДок;
Запись.Значение=Параметры.НомерДок;
//ДатаДок
Запись=Набор.Добавить();
Запись.Объект=Объект.Ссылка;
Запись.Свойство=СсылкаДатаДок;
Запись.Значение=Параметры.ДатаДок;
//ВидДок
Запись=Набор.Добавить();
Запись.Объект=Объект.Ссылка;
Запись.Свойство=СсылкаВидДок;
Запись.Значение=Параметры.ВидДок;
//НомерСтроки
Запись=Набор.Добавить();
Запись.Объект=Объект.Ссылка;
Запись.Свойство=СсылкаНомерСтроки;
Запись.Значение=Параметры.НомерСтроки;
//ИД
Запись=Набор.Добавить();
Запись.Объект=Объект.Ссылка;
Запись.Свойство=СсылкаИД;
Запись.Значение=Параметры.ИД;
Набор.Записать();

См. также

SALE! 10%

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0. Переносятся остатки, документы и справочники

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 1С:Бухгалтерия 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0 | Продукт является развитием и исправлением ошибок стандартной обработки для выгрузки данных из 1С Бухгалтерии 7.7 в Бухгалтерию 3.0 | Предоставляем техподдержку | Обновляем на новые релизы 1С | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - наши сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

50722 45650 руб.

26.05.2020    33917    10    67    

16

Конфигурация "Информационный киоск". Обработки выгрузки товаров для ТиС 9.2, УТ 10.3, УТ 11 (обмен данными с любой конфигурацией 1С 7.7, 8.х)

Оптовая торговля Розничная торговля Обмен между базами 1C Сканер штрих-кода Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Управленческий учет Платные (руб)

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

1800 руб.

21.12.2014    59241    8    21    

20

Выгрузка данных из 1С 7.7. в формате EnterpriseData 1.6 (универсальный формат обмена) в конфигурации 8.3

Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

6000 руб.

18.05.2020    22698    59    39    

35

Загрузка документов в 1С (7.7) из табличных файлов Excel,OpenOffice,1C,DBF,TXT (обработка)

Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Обработка решает поставленную задачу по вводу документов, а кроме того обладает важной функцией: настраивается на ассортимент конкретного поставщика, запоминая соответствие между его номенклатурой и «нашей». Т.е. фактически – является самообучающейся системой ввода накладных. У разных поставщиков могут быть накладные различного типа, с разным количеством полей, поэтому для каждого из них может быть сохранена своя собственная настройка диалоговой формы так, что любая поступающая накладная может быть обработана. По отношению к программе "1С:Предприятие 7.7" данное решение является внешними файлами. Для использования данного продукта не требуется вносить изменения в алгоритм существующих программ или используемых конфигураций.

2400 руб.

10.12.2009    76467    58    93    

68

Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.

Файловый обмен (TXT, XML, DBF), FTP Учет документов Распознавание документов и образов Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Конфигурации 1cv7 Россия Платные (руб)

Программный комплекс способный распознавать сотни листов за раз любых сканированных(фото) документов (УПД, ТОРГ12, СФ, паспорт и пр.) и загружать их в любую 1С (БП3.0, УТ, КА, УНФ, УПП, 1С7.7 ТиС, ЗУП3 и пр.), а также формировать архив сканированных документов.<br> Робот применяет до 5 способов распознавания. Максимальное качество загрузки документов из бесплатных OCR. Работает без Интернета.

10800 руб.

13.10.2022    7862    1    12    

9

Выгрузка УПД И УКД в формате ЭДО для Бухгалтерии 7.7 (ПУБ 7.7, УСН 7.7, ТиС 7.7, Комплексной 7.7)

Файловый обмен (TXT, XML, DBF), FTP ЭДО и ОФД Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 1.6 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет Абонемент ($m)

Обмениваемся УПД (УКД) с различными контрагентами через СБИС. А чтобы загрузить УПД (УКД) из 7.7 в Сбис, используем данную обработку, которая создает файл в формате XML, который можно импортировать в систему электронного документооборота. Для конфигурации "Бухгалтерский учет" (тестировалась на релизе 7.70.663) Для конфигурации "Упрощенная система налогообложения" ( тестировалась на релизе 7.70.305) Для конфигурации "Торговля и Склад 7.7" (тестировалась на релизе 7.70.1007)

1 стартмани

31.07.2021    14756    204    AndKovalchuk    38    

15

Переход с 1С:Комплексной 7.7 на 1С:УТ 10.3

Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 1С:Управление торговлей 10 1С:Комплексная 7.7 Россия Управленческий учет Платные (руб)

Начните вести учет в УТ 10.3! Перенесите все свои данные в УТ 10.3 в любом месяце года и продолжите вести учет! Программа перенесёт любое количество баз с документами и остатками в больших количествах. Обработка выгрузки выполнит проверку исходных данных и сформирует отчет о найденных ошибках в справочниках и документах. Партии переносятся с себестоимостью. Штрихкоды номенклатуры загружаются. Цена переносится. Автор консультирует.

8400 руб.

17.03.2021    15535    5    13    

6

Обмен данными ЗУП 3.1 - Бухгалтерия 7.7

Зарплата Обмен между базами 1C Бухгалтерский учет 7.7 Сложные периодические расчеты 1С:Бухгалтерия 7.7 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Как известно, Бухгалтерия 7.7 не имеет штатной возможности для обмена с ЗУП 3.1. Данная разработка пригодится тем, кто перешел с ЗиК 2.3 на ЗУП 3.1, но вынужден по каким-то своим причинам оставаться на Бухгалтерии 7.7.

18000 руб.

29.09.2020    13584    2    0    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ilsijar 63 15.02.16 21:13 Сейчас в теме
Здравствуйте! У меня проблема по конвертации данных. При конвертации данных в приемнике есть справочник, у которого заведен дополнительный реквизит, в источнике нет информации для передачи. Нужно кроме поиска по наименованию организовать поиск по конкретному дополнительному реквизиту. Добавила ПКС поиск объекта при загрузке по свойству,, источник пусто, переключатель передавать данные в параметр. Как организовать поиск этого дополнительного реквизита? может подскажете?
2. tusv 210 16.02.16 09:51 Сейчас в теме
(1) ilsijar,

Используем обработчик "Поля поиска" и Его параметры СвойствоПоиска, ПараметрыОбъекта и СсылкаНаОбъект

ДополнительныйРеквизит = ПараметрыОбъекта[<Твой параметр>];
Наименование = СвойствоПоиска["Наименование"];
Запрос= Новый Запрос;
Запрос.УстановитьПараметр("ДополнительныйРеквизит",ДополнительныйРеквизит);
Запрос.УстановитьПараметр("Наименование",Наименование);
//Текст запроса
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
   СсылкаНаОбъект=Выборка.Ссылка; //Ура мы все нашли,
КонецЕсли;
Показать
3. ilsijar 63 16.02.16 14:08 Сейчас в теме
Как передать в параметр конкретное значение дополнительного реквизита из приемника?
4. ilsijar 63 16.02.16 16:57 Сейчас в теме
В ПКС в обработчике после загрузки
ВидВзаиморасчетов = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Вид взаиморасчетов");
Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("62.03 Расчеты за пользование услугами эл.связи",,,ВидВзаиморасчетов);

Ошибка Переменная не определена (ВидВР). ВидВР это параметр.

5. tusv 210 16.02.16 17:59 Сейчас в теме
(4) ilsijar,
Совершенно верно. ВидВр это не параметр, но ПараметрыОбъекта["ВидВР"] это вполне материальный объект
6. ilsijar 63 17.02.16 08:14 Сейчас в теме
Ошибка:
Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML(1207)}: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1258)}: Ошибка в обработчике события ПоследовательностьПолейПоиска
ИмяПКО =
ТипОбъекта = Договор с контрагентом
Обработчик = Последовательность полей поиска
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = (1)
КодСообщения = 73
В ПКО ДоговорыКонтрагентов в обработчике:
ДополнительныйРеквизит = ПараметрыОбъекта["ВидВР"] ;
Наименование = СвойстваПоиска["Наименование"];
Организация = СвойстваПоиска["Организация"];
Контрагент = СвойстваПоиска["Контрагент"];
//ДополнительныйРеквизит = СвойстваПоиска["Значение"];
Запрос= Новый Запрос;
Запрос.УстановитьПараметр("Наименование",Наименование);
Запрос.УстановитьПараметр("Организация",Организация);
Запрос.УстановитьПараметр("Контрагент",Контрагент);
Запрос.УстановитьПараметр("ДополнительныйРеквизит",ДополнительныйРеквизит);
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ДоговорыКонтрагентов.Ссылка
		|ИЗ
		|	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
		|ГДЕ
		|	ДоговорыКонтрагентов.Наименование = &Наименование
		|	И ДоговорыКонтрагентов.Организация = &Организация
		|	И ДоговорыКонтрагентов.Контрагент = &Контрагент
		|	И ДоговорыКонтрагентов.ДополнительныеРеквизиты.Значение = &ДополнительныйРеквизит";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
   СсылкаНаОбъект=Выборка.Ссылка; //Ура мы все нашли,
КонецЕсли;
Показать
7. ilsijar 63 17.02.16 16:35 Сейчас в теме
В ПКС в обработчике после загрузки
ВидВзаиморасчетов = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Вид взаиморасчетов"); 
Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("62.03 Расчеты за пользование услугами эл.связи",,,ВидВзаиморасчетов); 

В значение параметра не попадает, и параметр = неопределено. В значение параметра можно только перед загрузкой. Перед загрузкой в значение присвоила строковое значение наименования, и в запросе условие
ДоговорыКонтрагентов.ДополнительныеРеквизиты.Значение.Наименование  = &ДополнительныйРеквизит

Но это не очень правильно. Нельзя ли из приемника в параметр как-то записать?
8. acanta 20.12.18 17:07 Сейчас в теме
Спасибо, хороший вариант.
9. Светлый ум 406 25.02.20 10:29 Сейчас в теме
Оставьте свое сообщение