Сохранение реквизитов и табличных частей объектов в XML

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

Разработка - Системная интеграция - Обмен через XML

Пример того, как можно сохранять и загружать объекты 1С методами встроенных объектов ЗаписьXML и ЧтениеXML.

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

Сохранение производится процедурой СохранитьРеквизитыИТабличныеЧасти. В качестве параметров она принимает сохраняемый объект и имя файла. Ссылочные реквизиты сохраняются в виде GUID.

Процедура СохранитьРеквизитыИТабличныеЧасти (Объект, ИмяФайлаXML=Неопределено) Экспорт
   
ФайлXML = Новый ЗаписьXML;
   
ФайлXML.ОткрытьФайл(ИмяФайлаXML);
   
ФайлXML.ЗаписатьОбъявлениеXML();
   
ФайлXML.ЗаписатьНачалоЭлемента("Root");
   
ФайлXML.ЗаписатьАтрибут("Объект",Объект.Метаданные().Имя);
//Сохраняем реквизиты
   
Для Каждого Реквизит Из Объект.Метаданные().Реквизиты Цикл
       
ФайлXML.ЗаписатьНачалоЭлемента("Реквизит");
       
ФайлXML.ЗаписатьАтрибут("Имя", Реквизит.Имя);
       
ТипЗначения = ТипЗнч(Объект[Реквизит.Имя]);
        Если Не
ТипЗначения = Тип("Неопределено") Тогда
           
ФайлXML.ЗаписатьАтрибут("ИмяТипа", XMLТип(ТипЗначения).ИмяТипа);
           
ФайлXML.ЗаписатьАтрибут("URI", XMLТип(ТипЗначения).URIПространстваИмен);
        КонецЕсли;
       
ФайлXML.ЗаписатьТекст(XMLСтрока(Объект[Реквизит.Имя]));
       
ФайлXML.ЗаписатьКонецЭлемента();
    КонецЦикла;
//Сохраняем табличные части
   
Для Каждого ТЧ из Объект.Метаданные().ТабличныеЧасти Цикл
       
ФайлXML.ЗаписатьНачалоЭлемента("ТабличнаяЧасть");
       
ФайлXML.ЗаписатьАтрибут("Имя", ТЧ.Имя);
        Для Каждого
СтрокаТЧ из Объект[ТЧ.Имя] Цикл
           
ФайлXML.ЗаписатьНачалоЭлемента("ЭлементКоллекции");
            Для Каждого
РеквизитТЧ Из ТЧ.Реквизиты Цикл
               
ФайлXML.ЗаписатьНачалоЭлемента("Реквизит");
               
ФайлXML.ЗаписатьАтрибут("Имя", РеквизитТЧ.Имя);
               
ТипЗначения = ТипЗнч(СтрокаТЧ[РеквизитТЧ.Имя]);
                Если Не
ТипЗначения = Тип("Неопределено") Тогда
                   
ФайлXML.ЗаписатьАтрибут("ИмяТипа", XMLТип(ТипЗначения).ИмяТипа);
                   
ФайлXML.ЗаписатьАтрибут("URI", XMLТип(ТипЗначения).URIПространстваИмен);
                КонецЕсли;
               
ФайлXML.ЗаписатьТекст(XMLСтрока(СтрокаТЧ[РеквизитТЧ.Имя]));
               
ФайлXML.ЗаписатьКонецЭлемента();
            КонецЦикла;
           
ФайлXML.ЗаписатьКонецЭлемента();
        КонецЦикла;
       
ФайлXML.ЗаписатьКонецЭлемента();
    КонецЦикла;
    Если Не
ФайлXML=Null Тогда
       
ФайлXML.ЗаписатьКонецЭлемента();
       
ФайлXML.Закрыть();
    КонецЕсли;
КонецПроцедуры

За чтение объекта отвечают процедуры ЗагрузитьРеквизитыИТабличныеЧасти и ЗагрузитьОбъектРекурсивно. Чтобы прочитать объект вызывается первая, ей передаются объект, который необходимо заполнить, и имя файла. Вторая является вспомогательной.

Процедура ЗагрузитьРеквизитыИТабличныеЧасти(Объект, ИмяФайлаXML=Неопределено) Экспорт
    Если Не
ИмяФайлаXML = Неопределено Тогда
       
ФайлXML = Новый ЧтениеXML;
       
ФайлXML.ОткрытьФайл(ИмяФайлаXML);
        Пока
ФайлXML.Прочитать() Цикл
            Если
ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
               
ЗагрузитьОбъектРекурсивно(ФайлXML, Объект, ФайлXML.Имя);
            КонецЕсли
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

Процедура ЗагрузитьОбъектРекурсивно(ФайлXML, Объект, знач ИмяУзла)
   
ИмяТипа = "";
   
ПространствоИмен = "";
    Пока
ФайлXML.ПрочитатьАтрибут() Цикл
        Если
ФайлXML.Имя = "ИмяТипа" Тогда
           
ИмяТипа = ФайлXML.Значение;
        ИначеЕсли
ФайлXML.Имя = "URI" Тогда
           
ПространствоИмен = ФайлXML.Значение;
        КонецЕсли;
    КонецЦикла;
    Пока
ФайлXML.Прочитать() Цикл
        Если
ФайлXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ФайлXML.Имя = ИмяУзла Тогда
            Возврат;
        ИначеЕсли
ФайлXML.ТипУзла = ТипУзлаXML.Текст Тогда
           
ТипОбъекта = ИзXMLТипа(ИмяТипа, ПространствоИмен);
            Если НЕ
ТипОбъекта = Неопределено тогда
               
Объект = XMLЗначение(ТипОбъекта, ФайлXML.Значение);
            КонецЕсли;
        ИначеЕсли
ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
           
ИмяТекУзла = ФайлXML.Имя;
            Если
ФайлXML.Имя = "ЭлементКоллекции" Тогда
               
ЗагрузитьОбъектРекурсивно(ФайлXML, Объект.Добавить(), ИмяТекУзла);
            Иначе
                Если
ФайлXML.ПрочитатьАтрибут() Тогда
                   
ЗагрузитьОбъектРекурсивно(ФайлXML, Объект[ФайлXML.Значение], ИмяТекУзла);
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

В приложенном файле демонстрационная обработка, позволяющая сохранить ссылочный объект БД в файл и заполнить объект из файла. Заполняемый объект должен быть того же типа, что и сохраненный, а также он должен быть предварительно создан, сохранен в ИБ и выбран в поле "Ссылка".

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

Наименование Файл Версия Размер
пример использования

.epf 8,19Kb
24.11.11
107
.epf 8,19Kb 107 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Angeros 25.11.11 11:19 Сейчас в теме
Конечно + но все это есть в выгрузка загрузка хмл. стандартной обработке.
2. saiten 231 25.11.11 11:38 Сейчас в теме
все это есть в выгрузка загрузка хмл. стандартной обработке

Конечно, там это есть, и даже гораздо больше. Я же только лишь предложил минимальный механизм, который без лишних сложностей можно использовать в собственных разработках.
3. Поручик 4435 25.11.11 12:21 Сейчас в теме
Рекомендую как пример работы с XML
4. Seregalink 73 26.11.11 02:21 Сейчас в теме
Спасибо, очень хорошо, как пример вполне устраивает!
5. Gasdrubal 01.12.11 10:54 Сейчас в теме
Отличный универсальный механизм. А нельзя как - то также регистры выгружать или там планы счетов? Выложите может код?
6. saiten 231 01.12.11 11:53 Сейчас в теме
(5) Как-то необходимости не возникало. С регистрами много вопросов: весь регистр выкидывать или по отбору? или по запросу? и как загружать: только дописывать или очищать имеющиеся записи? Если бы мне поставили такую задачу - я бы сделал обработку с табличной частью, колонки которой повторяют структуру данных регистра, запросом выбрал бы нужные записи в ТЧ, а ее уже потом приведенным кодом выкинул в XML. Хотя, можно и непосредственно регистр обрабатывать. Почему, собственно, нет? Будет время - посмотрю.
Добавлено:
А лучше использовать универсальную выгрузку/загрузку XML - это задача самое для нее.
8. saiten 231 21.12.11 11:17 Сейчас в теме
(7) Пожалуйста. Рад, что кому-то пригодилось.
9. artmicro 28.12.11 11:19 Сейчас в теме
Хм, Автор скорее всего не слышах про встроенный сериализатор, который позволяет сделать все тоже - только используя всего две строчки кода.
11. saiten 231 28.12.11 16:37 Сейчас в теме
(9) Попробуйте сериализовать внешнюю обработку. Собственно, именно для сохранения реквизитов и ТЧ обработок этот код и писался. То, что можно выгружать и другие объекты БД - это побочный эффект.

Кроме того, не всегда можно обойтись сериализацией. Например, если идёт обмен XML-файлами со сторонней системой. В этом случае надо работать методами объектов Чтение-/ЗаписьXML. Можно, в принципе, и через DOM, но, честно говоря, не знаю, насколько реализация этой технологии в 1С справляется с большими файлами.
13. artmicro 28.12.11 21:18 Сейчас в теме
(11) Согласен, внешнюю обработку сериализовать штатными средствами не получится. Но можно использовать механизм хранения настроек в БД. Но я, если честно, не могу себе представить задачу где обходимо было бы сериализовать внешнюю обработку %)

DOM отлично справляется с довольно крупными файлами. Правда, проблема в том, что не так уж и часто найдешь тех, кто сможет граммотно это использовать со стороны сторонней системы.
14. saiten 231 29.12.11 09:24 Сейчас в теме
(13)
Но я, если честно, не могу себе представить задачу где обходимо было бы сериализовать внешнюю обработку %)

Сохранение настроек средствами платформы, к сожалению, не отличается надёжностью. Хранить же настройки в БД не всегда целесообразно.
Данный механизм может использоваться
1. для надёжного хранения настроек вне базы;
2. если обработка содержит большое количество настроек, ну, например, загрузка данных сложной структуры из XLS-файла: сопоставили ячейки документа данным, обкатали на тестовой базе, сохранили настройки в XLS, перенесли в рабочую;
3. если нескольким пользователям необходимо работать с общим набором настроек;
4. транспорт данных в тех случаях, когда нецелесообразно заморачиваться с конвертацией;
5. внешнее хранение небольших объемов данных.
15. artmicro 29.12.11 13:47 Сейчас в теме
(14) Надежность хранение настроек в файлах, тоже довольно сомнительный момент. Но в целом Вы правы. Суть понятна. Спасибо.
16. lsp71 17.02.12 13:21 Сейчас в теме
(14) я сам аналогичным образом использую xml-файлы для сохранения настроек отчетов/обработок, т.к. более надежное хранение, можно передать настройки другому пользователю, на другой комп.
18. DrAku1a 1402 17.03.15 03:11 Сейчас в теме
(14) А так сохранить настройки не проще?
ЗначениеВФайл(<ИмяФайла>, ТабличнаяЧасть.Выгрузить())
19. saiten 231 17.03.15 10:16 Сейчас в теме
(18)Ага, проще конечно. Но не всегда. Реквизиты так не выгрузить; если табличных частей больше одной - потребуется несколько файлов. В общем, каждой задаче - свой инструмент.
10. zog 28.12.11 14:57 Сейчас в теме
artmicro пишет:

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


поумничать решили?) автор все слышал, я уверен, для новичков (таких как я) пример в самый раз.
12. artmicro 28.12.11 21:12 Сейчас в теме
(10) Ну чего же поумничать. Просто в последнее время, на этом ресурсе все больше и больше тем которые описаны в типовых книгах 1С...
20. v.a.ryag 37 12.02.16 04:28 Сейчас в теме
Плюсую за простоту и доступность представления информации. Взял себе код на заметку)
21. serq82 8 20.08.16 11:23 Сейчас в теме
а как можно сделать с внешней обработкой, в ней реквизиты и табличные части выгружались???не сохраняя данные обработки, а также как документ.ве дь в обработке не получишь Объект.Метаданные()
22. saiten 231 20.08.16 16:28 Сейчас в теме
(21)Ну почему же? У внешних обработок есть метаданные. Собственно, для обработок этот код и писался. Все работает.
Оставьте свое сообщение

См. также

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример Промо

Практика программирования Универсальные функции v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

19.01.2018    58168    rpgshnik    31    

Библиотека программного изменения формы (УФ)

Инструментарий разработчика Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.08.2020    4220    BuriyLesha    17    

Сохранение настроек колонок

Практика программирования Работа с интерфейсом Универсальные функции v8 Абонемент ($m)

Сохранение настроек колонок табличных полей. Получение имени формы из модуля формы. Для обычных форм.

1 стартмани

10.07.2020    991    Arc    1    

Универсальные функции: разложение произвольной строки адреса в структуру

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

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    3757    vik070777    10    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

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

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    49123    DarkAn    86    

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

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

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

07.10.2019    30273    HostHost    40    

Простая выгрузка данных в универсальном формате Enterprise Data

Обмен через XML v8::УФ Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Пошагово разобран текст процедуры, позволяющей выгрузить произвольный набор объектов в формате Enterprise Data (конечно, если это позволяет конфигурация). Приложена обработка, позволяющая выгружать произвольные объекты, в том числе запросом или по данным журнала регистрации.

2 стартмани

26.08.2019    12048    Iyar    3    

Получение XML файла с SQL Server средствами ADODB

Обмен через XML v8 1cv8.cf Россия Абонемент ($m)

В статье описано, как получать XML файл, сгенерированный SQL Server, средствами ADODB. Обработка написана на обычных формах, тестировалась на платформе 8.12.1685.

1 стартмани

08.07.2019    2646    saver77    0    

Ускорение для Клиент-Банка Промо

Банковские операции Обмен с банком Универсальные функции Банковские операции v8 1cv8.cf Абонемент ($m)

У вас много платежей и клиент-банк долго их читает? Есть проверенная практикой идея, как это ускорить.

1 стартмани

08.10.2012    23733    Yashazz    15    

Работа с графической схемой в объектной модели DOM

Универсальные функции v8 v8::УФ Абонемент ($m)

Пример кода для работы с графической схемой в объектной модели DOM, платформа 8.3.12.

1 стартмани

04.06.2019    7977    botokash    19    

XDTO для чайников

Обмен через XML v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.05.2019    28949    HAMMER_59    39    

Корректировка движений документа

Универсальные функции v8 1cv8.cf Абонемент ($m)

Корректировка движений документа после его проведения по типовому алгоритму.

1 стартмани

26.05.2019    4675    rutadmeen    0    

Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ Промо

Практика программирования Обмен через XML v8 1cv8.cf Абонемент ($m)

Преобразование строкового значения к допустимому для XML. Типовое, нетиповое, RegExp.

1 стартмани

26.03.2013    82489    StepByStep    26    

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных)

Универсальные функции v8 1cv8.cf Абонемент ($m)

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    9339    yku    7    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.04.2019    33236    riposte    65    

Перенос данных с использованием XDTO

Обмен через XML v8 Россия Абонемент ($m)

Использование объекта типа "ОбъектXDTO" для переноса данных из одной конфигурации в другую

1 стартмани

21.04.2019    10931    axae    11    

Альтернатива внешним печатным формам. ЗУП 3.1

Печатные формы документов Универсальные функции Зарплата Практика программирования Зарплата Разработка v8 v8::СПР ЗУП3.x Абонемент ($m)

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    14487    Mogilnikova    3    

Использование подсистемы БСП "Заполнение объектов"

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    25610    ids79    23    

Доработка функции ОбщегоНазначения.ЗаменитьСсылки для автоматической чистки или свёртки табличных частей

Универсальные функции v8 Абонемент ($m)

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

1 стартмани

12.09.2018    4118    albert.goncharov    0    

Пропорциональное распределение в запросе

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

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

1 стартмани

28.06.2018    11924    invertex    7    

Заполнение справочника с изображениями элементами по умолчанию

Практика программирования Обмен через XML Универсальные функции v8 Абонемент ($m)

Пример одного из решений, как можно заполнить справочник с изображениями значениями по умолчанию включая сами изображения. Сами изображения взяты из программы MapSource 6.16.3. Данные для загрузки хранятся в макете в формате XML.

1 стартмани

26.03.2018    8678    Kim1C    0    

Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен)

Обмен через XML Перенос данных из 1C8 в 1C8 Розничная торговля Розничная торговля v8 КД УТ11 Розничная и сетевая торговля (FMCG) Абонемент ($m)

В статье по шагам рассматривается создание обмена между центральной базой и базами филиалов на базе конфигурации УТ 11. Для решения поставленной задачи было решено не использовать РИБ, т.к. требуется односторонний обмен ограниченным набором данных, к тому же по определенным условиям. Обмен реализован на основе типовой синхронизации на основе универсального обмена в формате EnterpriseData. Данная публикация может быть полезна внедренцам, которые работают с торговыми сетями, в том числе по модели франчайзинга.

1 стартмани

26.02.2018    36923    Kutuzov    18    

Проверка таблицы на дублирование строк (ТаблицаЗначений, ТабличнаяЧасть) и получение массива таких строк

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

Функция для проверки дублирования строк в ТаблицеЗначений или ТабличнойЧасти. Также, если необходимо, возвращает массив задублированных строк (можно обработать).

1 стартмани

05.02.2018    11320    uri1978    27    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    46920    sandybaev    24    

Работа с кодами - числами, датами, кодами справочников, номерами документов, идентификаторами в 1С и в других базах данных

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Поддерживается преобразование Кодов на основе Алфавитов, в том числе ''блочных" кодов - состоящих из блоков (подстрок) одинаковой длины (например: 8, 16, 32-битные коды, Хэши и т.п.). Функции доступны на Клиенте и на Сервере. Демо-примеры сделаны на управляемых формах. Тестировалось на платформах серии 8.3.10.

1 стартмани

28.11.2017    7512    newold2    1    

Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().

Обмен через XML Перенос данных из 1C8 в 1C8 v8 ЗУП2.5 КД БП3.0 Абонемент ($m)

В статье рассказываю: 1) о механизмах и транспорте обмена данными, где одной из сторон обмена выступает конфигурация на базе 1С, и о том, какой транспорт и в каких случаях лучше использовать 2) о решении задачи выгрузки данных документа «Зарплата к выплате организаций» (с выгрузкой банковский счетов физ лиц документа) из ЗУП 2.5.123.1 (далее Источник) в БП КОРП 3.0.52.39 (далее Приемник) путем создания правил обмена данными с использованием конфигурации «Конвертация данных» (далее просто КД) ред. 2.1.8.2. для (далее ЗкВО) 3) о тестирование полученных правил обмена данными.

1 стартмани

03.11.2017    32753    RailMen    5    

Размеры управляемой формы

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

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

1 стартмани

08.10.2017    26877    json    9    

Пример универсальной функции для создания схемы компоновки данных

Практика программирования Универсальные функции v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

12.01.2017    32279    dbachinsky    32    

Использование SoapUi для работы с веб-сервисами. Часть1

Практика программирования Обмен через XML v8 Абонемент ($m)

Как работать с SoapUi для тестирования веб-сервисов .

1 стартмани

30.09.2016    122971    kiv1c    29    

Функция преобразования промежутка времени в строку

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

23.09.2016    10083    vovant    1    

1С 8.2 переключение раскладки клавиатуры (с помощью dynwrap.dll)

Разработка внешних компонент Универсальные функции v8 Абонемент ($m)

Функция для автоматического переключения раскладки клавиатуры. (с помощью dynwrap.dll) Дабы не переключать каждый раз (при вводе информации в разных полях) с "Rus" на "Eng", можно эту работу возложить на функцию.

1 стартмани

22.05.2013    15208    Serg23ru    24    

Конвертер Даты из числового формата Excel

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

Столкнувшись с проблемой загрузки в 1С из Excel Даты-Времени в числовом формате к удивлению не нашел нигде подобных формул. Может потому что они уж слишком банальны, а может потому что они "тайное знание посвященных". В общем, эта обработка пример конвертации Excel <=> 1C

1 стартмани

17.04.2013    18433    vova196    5    

Точка Актуальности для 1С 8

Практика программирования Универсальные функции v8 УТ10 Абонемент ($m)

Все знают, что такое ТА для 1с 7.7 И этот механизм отсутствует в 1С 8. Но многие бухгалтера привыкли к нему. Почему бы тогда его не реализовать?

1 стартмани

18.12.2012    20614    Sykoku    28    

Ограничение на проведение реализаций по группе доступности складов в УТ 10.3

Практика программирования Универсальные функции Учет ТМЦ Учет ТМЦ v8 УТ10 Абонемент ($m)

В стандартной конфигурации УТ 10.3, настройка "группы доступности складов" не накладывает ограничения на продажи с определённых складов. Группа доступности складов позволяет наложить ограничение лишь на автоматическое размещение товаров в заказе покупателей, т.е. менеджер может вручную выбрать размещение и совершить продажу. Данная доработка исправляет эту ситуацию.

12.04.2012    12250    pusix    8    

Синхронизация с сервером 1С во внешнем соединении

Внешние источники данных Универсальные функции v8 1cv8.cf Абонемент ($m)

Позволяет установить время удаленного SQL-сервера на компьютере при выполнении обмена через Внешнее соединение

1 стартмани

27.09.2011    13408    sml    6    

Как превратить линейно-периодический отчёт в многолинейно-периодический (в платформах 8.х)

Универсальные функции Анализ учета v8 1cv8.cf Абонемент ($m)

Навеяно http://infostart.ru/public/90001/ - решение на основе пользовательских полей в СКД

1 стартмани

27.09.2011    17109    e.kogan    35