Практика доступа в базу 1С через протокол oData. Чтение данных

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

Администрирование - Администрирование данных 1С - Сервисные утилиты

OData интеграция доступ web Excel

Для чего нужен доступ в базу 1С через REST-интерфейс по протокол oData? Как его организовать? Как не будучи гуру в JavaScript и .NET получить быстрый визуальный доступ к данным базы 1С? Попробую дать ответ на эти вопросы и прокомментирую некоторые нюансы, с которыми я столкнулся.

Почему это важно

Давайте на минутку представим, что у нас есть информационные базы на платформе "1С:Предприятие 8", с данными которой нам нужно регулярно работать. Но, к сожалению, у нас нет возможности вносить какие-либо свои правки в их конфигурацию. Возможно это базовые конфигурации (при наличии полноценной платформы); или бесплатная "1С:УНФ для Украины. Микро"; или из-за преимуществ автоматического обновления не хотим снимать поддержку; или обслуживающая компания назвала стоимость своих услуг, которая не получила одобрения у руководства, а собственного "программиста 1С" нет...

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

  1. Доступ в базу через семейство COM-объектов (V83.ComConnector и более ранние). Ограничение: платформа должна быть установлена на Windows.
  2. Непосредственный доступ в таблицы базы данных. Вот пример для СУБД. Вот пример для файловой базы. Ограничение: запрет непосредственного доступа к данным в лицензионном соглашении; нестабильность полученного доступа; изменение данных может привести к нарушению логической целостности базы.
  3. Начиная с версии платформы 8.3.5 появилась возможность предоставить доступ к данным через автоматический REST-интерфейс на основе протокола OData v.3.0. Ограничение: необходимо установить веб-сервер и модуль расширения веб-сервера из поставки платформы.
  4. Начиная с версии платформы 8.3.6 появился механизм расширений, который позволяет "пристегнуть" новую функциональность без внесения изменений в основную конфигурацию. В числе новой функциональности есть интересные нам WEB- и HTTP-сервисы. Начиная с версии платформы 8.3.11 стала доступной возможность расширения структуры таблиц  базы данных (добавление новых реквизитов для хранения служебных данных в целях интеграции). Ограничение: необходимо наличие программиста, который разработает расширение и будет следить за его работоспособностью при обновлениях; для сервисов необходимо установить веб-сервер и модуль расширения веб-сервера из поставки платформы.
  5. Можно отказаться от "мгновенного доступа" и тогда можем использовать запуск внешних обработок с помощью параметра командной строки /Execute. В таком сценарии можно сделать регулярный запуск по расписанию некоторой обработки, которая будет проверять внешний ресурс на наличие инструкций к выполнению и помещать туда результаты своей работы. Так же можно самостоятельно запускать клиентское приложение 1С на отработку своих команд, если есть доступ к ОС, в которой находится база. Ограничение: необходимо наличие программиста, который создаст обработку; наличие временного лага в реакции системы на значение промежутка между запусками в планировщике или на время старта клиентского приложения.

Таким образом среди 5 вариантов самым быстрым и самым легким для администратора способом является автоматический доступ через протокол oData. Этот же вариант является кроссплатформенным.

А еще вариант с протоколом oData менее затратен с точки зрения разработки связки с базой 1С. Дело в том, что компания Microsoft усиленно его продвигает. Помимо выпуска OData SDK для разработки под .NET, AJAX, PHP, Java, JavaScript, WebOS и Objective-C, эта компания внедрила данный протокол в свои популярные продукты: Excel, PowerPoint, SharePoint, MsSQL и других. Таким образом вам не нужно создавать свою версию CommerceML и заниматься разбором XML и JSON текстов как на вашей стороне так и на стороне базы 1С, как если бы вы реализовывали свои собственные WEB- и HTTP-сервисы. При использовании OData у вас уже сразу будут готовые библиотеки для получения или модификации данных для применения в вашей внешней системе, в то время как на стороне базы 1С все будет происходит автоматически.

 
Минутка уже прошла?

Для тех, кто заинтересовался темой, прошу перейти на официальный сайт протокола - www.odata.org. Еще раз обращаю внимание, что не смотря на то, что актуальная версия протокола уже 4.0 и она была стандартизирована консорциумом OASIS еще 17 марта 2014 года, но в платформе "1С:Предприятие 8" по прежнему используется протокол более ранней версии 3.0. Кстати, не забудьте заглянуть в раздел экосистемы протокола и полюбоваться на упоминание нашей 1C:Enterprise, которая идет первой в списке :))


Необходимые настройки

Как я уже упоминал, у вас должен быть веб-сервер. Начиная с версии 8.4 в составе серверной части платформы уже будет свой собственный веб-сервер, но пока нам нужно пользоваться сторонними - IIS или Apache. Как все настроить хорошо описано в желтой книжечке для администратора. Но если вы любите картинки и чужой опыт, то вот надергал в поиске: пошаговая инструкция по установке Apache на Windows, установка Apache на Linux и конечно же IIS для чайников :) За полноту и актуальность предоставленных данных в указанных статьях не ручаюсь и вообще не знаком с авторами. Если возникнут проблемы, то читайте Руководство Администратора от вашей версии платформы - там есть все, что вам пригодится. 

После того, как у вас уже установлен веб-сервер и он уже не падает при запуске из-за проблем с расширением доступа к 1С (давайте угадаю - вы поставили 32-разрядный Apache и 64-разрядную платформу), осталось совсем чуть-чуть. В конфигураторе заходим в меню "Администрирование" и нажимаем на команду "Публикация на веб-сервере...". В появившемся окошке необходимо указать следующие важные моменты:

  • Название вашей базы в поле "Имя", по которой веб-сервер будет предоставлять к ней доступ (если не хотите проблем, то не пишите на кириллице);
  • Укажите веб-сервер, который установлен на данном компьютере (если у вас установлено целых два веб-сервера, то в выпадающем списке будет выбор);
  • Путь к каталогу публикации, к которому должен быть доступ у вашего выбранного веб-сервера;
  • И самое главное - галочка "Публиковать стандартный интерфейс OData"!

скриншот публикации

После нажатия на кнопку "Опубликовать" по указанному в настройке пути будет создан файл default.vrd (XML-файл, который содержит данные, которые вы сделали в настройках публикации), а в конфиге веб-сервера будет добавлена запись о вашей публикации с тем именем, что вы указали. После публикации веб-сервер стоит перегрузить.

Несколько замечаний по выполнению публикации. Если у вас к публикации несколько баз, то для каждой из них должен быть свой каталог. Сразу подумайте о пользователе, которым собираетесь получать доступ к базе - у него должны быть нужные роли и имя латинскими буквами без спецсимволов (если вам в будущем охота воевать с кодировками, то можете сделать имя на русском с пробелами). Если вы работаете на Windows и у вас включен UAC, то перед публикацией конфигуратор следуют запускать от имени администратора. Если вы работаете на Linux - держитесь, мы в вас верим! :)

Вот как выглядит рабочий default.vrd с публикацией интерфейса OData:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/DemoTrdBase"
		ib="File=&quot;D:\WORK\Base\DemoTrdBase&quot;;"
		enable="false">
	<standardOdata enable="true"
			reuseSessions="autouse"
			sessionMaxAge="20"
			poolSize="10"
			poolTimeout="5"/>
</point>

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

После того, как вы выполнили публикацию и перезапустили сервер, можем проверить результаты в браузере. Для этого нужно указать имя веб-сервера, далее имя базы из публикации, далее путь /odata/standard.odata/ . У вас должны запросить пароль и вы увидите, что-то похожее на это:

браузер

Что бы продемонстрировать возможности рассматриваемой в статье технологии, я взял конфигурацию ""Управление торговлей (базовая)", редакция 10.3", в которой установлен режим совместимости "Версия 8.2.13" и потому все метаданные через REST-интерфейс доступны сразу, а вызов функции УстановитьСоставСтандартногоИнтерфейсаOData() для управления доступностью состава запрещен.

Если  же у вас имеется доработанная торговля 10.3, которой вы установили режим совместимости "Версия 8.3.5" или выше, или если у вас есть более современные конфигурации, то все метаданные по умолчанию будут скрыты и вам нужно будет воспользоваться специальной обработкой для указания видимости требуемых данных. Что бы не тратить время на создание своей обработки, можете воспользоваться моей работой, которая годится как для обычного так и для управляемого интерфейсов (см. вложения).

обработка состава

 
Бурчание...

А что же дальше?

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

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

 
 Предостережение о "велосипедах"

Допустим, что мы не грамотные JS-программисты, но какой-то списочек повесить на сайт хотим. Я открыл статью с перечнем самых популярных на сегодняшний день библиотек создания таблиц и нашел в нем простенькую библиотечку jsGrid как раз для нашего случая. Изучаем их сайт, берем пример их кода по использованию OData и вставляем туда путь к нашим данным.

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

Теперь самое интересное. А как же сформировать строку запроса на чтение нужных нам данных? Это просто! Смотрим по нашему пути к корню OData (для меня это http://localhost/DemoTrdBase/odata/standard.odata/) как правильно называется этот справочник - Catalog_Контрагенты. Далее открыв в новом окне адрес http://localhost/DemoTrdBase/odata/standard.odata/Catalog_Контрагенты мы увидим содержимое всего справочника в формате XML. Но для нашего примера нужен JSON и потому к строке нужно добавить параметр: $format=json - получится http://localhost/DemoTrdBase/odata/standard.odata/Catalog_Контрагенты?$format=json. Так, группы нам не интересны и давайте их уберем с помощью параметра фильтрации: $filter=IsFolder eq false - получится http://localhost/DemoTrdBase/odata/standard.odata/Catalog_Контрагенты?$format=json&$filter=IsFolder eq false. Блок параметров, как вы уже заметили начинается символом "?", а сами параметры между собой соединяются символом "&". Полный список доступных параметров и функций смотрите в документации по платформе.

Полученный файл положим в каталог, который настроен корневым в вашем веб-сервере. Это необходимо, что бы "домены" странички и запрашиваемых данных совпадали, иначе получите бесконечный индикатор обновления и ошибку в логах: "No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 401."

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


А совсем без программирования?

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

К примеру, нас интересуют должники. В УТ10 мы их можем получить из виртуальной таблицы остатков регистра накопления ВзаиморасчетыСКонтрагентами, наложив фильтр что бы сумма долга была больше нуля (иначе это авансы). Задавать дату не буду, так как меня интересуют актуальные данные. Для моей базы это будет следующая ссылка: http://localhost/DemoTrdBase/odata/standard.odata/AccumulationRegister_ВзаиморасчетыСКонтрагентами/Balance?$filter=СуммаУпрBalance gt 0

Просмотрев результат, мы можем заметить, что у нас нет представлений для контрагентов, а только ключи для таблицы справочника контрагентов. Следовательно будем запрашивать и эти вспомогательные данные. Для этого воспользуемся ссылкой без фильтров:  http://localhost/DemoTrdBase/odata/standard.odata/Catalog_Контрагенты

А теперь простая последовательность шагов:

  1. Открываем Excel (у меня версия 2016; если у вас 2010 или 2013, то меню может немного отличаться)
  2. Переходим по навигационному пути: "Данные" / "Создать запрос" / "Из других источников" / "Из канала ODATA".
  3. Указываем нашу ссылку на регистр взаиморасчетов
  4. На форме авторизации выберем третий вариант "Базовый" и укажем логин/пароль. Нажимаем "Подключение".
  5. В открывшемся окне редактора запроса вместо имени "Запрос1" дадим что-то более для нас интересное - "Взаиморасчеты"
  6. В центре окна редактора запроса видим колонку "Список", где в каждой строке слово "Record". Мы можем или воспользоваться контекстной командой "В таблицу" или нажать соответствующую кнопку в меню "Преобразование" редактора. На возникший вопрос ответьте "Ок".
  7. Теперь колонка называется "Column1" и рядом с ней появилась кнопочка со стрелками в разные стороны. Нажмите на нее. С сервера подтянется описание существующих колонок. Снимите все галочки и оставьте их только на колонках "Контрагент_Key" и "СуммаУпрBalance". Нажмите на "Ок" и появится таблица из двух выбранных колонок с нужными нам данными.
  8. За пределами нашего внимания остались такие измерения как организация, договор и сделка, но они все равно были запрошены. В результате у нас сейчас есть строки контрагентов с разными суммами. Их можно свернуть с помощью группировки. Для этого или из меню или из контекста вызывайте команду "Группировать по". В группировочных полях оставьте только контрагента, а поле с суммой удалите. Назовите новую колонку "Долг", в операции выберите "Сумма", а в столбце укажите поле нашей суммы. Нажмите на "Ок" и в результате получим немного меньше записей.
  9. Теперь нам нужно расшифровать контрагентов. Для этого в левой панели "Запросы", где уже есть текущий запрос "Взаиморасчеты", вызовите контекстное меню и выберите "Новый запрос" / "Другие источники" / "Канал ODATA". В появившемся окошке укажем путь к справочнику контрагентов. Далее снова указываем логин/пароль авторизации, в предпросмотре нажимаем "Ок" и зададим новому запросу имя "Контрагенты".
  10. Вернемся к запросу "Взаиморасчеты" (клик по названию на панели запросов).
  11. Теперь выполняем соединение наших двух запросов. Для этого в основном меню редактора вызовите команду "Комбинировать" / "Объединить запросы". В окне конструктора объединения будет наша таблица взаиморасчетов. В центре в выпадающем окне выберите запрос "Контрагенты". Вид соединения остается тот, который по умолчанию (левое внешнее). Далее кликами выбираем колонки для условия объединения. Соглашаемся со всем что нам далее предлагают. 
  12. После объединения мы получили новую колонку "Контрагенты" со знакомой кнопкой с разнонаправленными стрелочками. Кликаем по этой кнопке и выбираем интересующие нас колонки. Для интереса выберем "НаименованиеПолное" и "Parent" (группа). Колонка "Parent" так же предлагает нам раскрыться - выберем в ней поле "Description" (обычное наименование справочника).
  13. Сделаем красиво. Первую колонку с ключем контрагента можем удалить. Колонку группы так и назовем "Группа", колонке с именем контрагента дадим название "Контрагенты", а колонку долга перекинем в конец получаемой таблицы.
  14. Теперь можем нажать на главную кнопку редактора - "Закрыть и загрузить".
  15. Далее можно использовать загруженную таблицу как данные для сводной таблицы или сводной диаграммы. Или при создании этих новых объектов указываем в качестве источника данных наш запрос "Взаиморасчеты".

скриншот из Excel

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


Итоги

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

Что бы не было предубеждений, что применять доступ по OData можно исключительно для управляемого интерфейса на последних версиях платформы, я в качестве учебного примера выбрал демо-базу конфигурации "Управление торговлей (базовая), ред 10.3" в режиме совместимости 8.2. Даже на базе данных такой конфигурации, всего несколькими кликами мышки можно получить в книге Excel актуальные данные по долгам и точно так же просто можно было бы получить актуальные остатки на складах, данные по продажам и прочую полезную информацию. 

 

P.S. Продолжение данной статьи, в котором рассмотрены операции создания и изменения данных, опубликовано по адресу infostart.ru/public/719982

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

Наименование Файл Версия Размер
Состав_OData
.epf 15,60Kb
09.12.17
233
.epf 1.0 15,60Kb 233 Скачать
1c_grid_test
.html 1,48Kb
09.12.17
69
.html 1.0 1,48Kb 69 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. sandybaev 147 12.12.17 06:56 Сейчас в теме
Мдааа, прикольная вещь.

надо на досуге попробовать похимичить.
с меня +
2. 🅵🅾️🆇 12.12.17 08:51 Сейчас в теме
С меня , попозже повнимательнее прочту.
3. shura_k 12.12.17 11:29 Сейчас в теме
Я тоже в свое время покопался с подобным механизмом и немного устал от необходимости строить много запросов к запросам с джоинами. Хотя в прошлом я хорошо программировал на SQL и это для меня не новость. Но вот повторять отчет, который реализован в 1С заново нет не времени не желания.
Поэтому я сделал свой http сервис, где любой банальный отчет или немного адаптированный можно вывалить в виде OData. И он прекрасно открывается что в Екселе, что в Power BI.
Если будет интерес, могу попробовать сделать публикацию здесь своего решения.
P.S. кстати если у вас Ексель 2010, то он штатно не умеет открывать OData. Что бы научить, Майкрософт сделала аддон - Power Query.
myoker; TreeDogNight; distorshion; 🅵🅾️🆇; ye_s; alexey-simf; Gang031; apd1c; fancy; zakiap; Огонек; корум; z86; echo77; +14 Ответить
4. vovan_victory 62 12.12.17 12:13 Сейчас в теме
Прежде всего, автору + за труды.
(3)
Если будет интерес, могу попробовать сделать публикацию здесь своего решения.

Я думаю, что многим будет интересно...ждем
5. Dementor 690 12.12.17 13:30 Сейчас в теме
(3) Интерес уже от двух человек :)
А под "любой банальный отчет" вы понимаете только отчеты на компоновке данных или вообще все возможные, включая на базе построителя отчетов и полностью "ручные" на макете из табличного документа?
Valerich; +1 Ответить
7. shura_k 12.12.17 15:43 Сейчас в теме
А под "любой банальный отчет" вы понимаете только отчеты на компоновке данных или вообще все возможные, включая на базе построителя отчетов и полностью "ручные" на макете из табличного документа?

меня пока интересовали СКД.
но там суть в том чтобы получить ТЗ или ТД. А дальше уже функция формирует из него ответ в Odata.
Так что можно при желании и умении адаптировать под себя :)
14. karimov_m 13.12.17 22:47 Сейчас в теме
(7) интересно, ждем.
Фактически - любой отчет на СКД да и просто макете - суть плоская таблица (не будем брать в расчет возможные вставки графиков в СКД), которую можно "выгрузить" в ТЗ. А если есть ТЗ, то есть XML ее описывающий и содержащий данные отчета, а если есть XML - считай сконвертировать его в oData не сложно и отдать "наружу".

Но ждем вашей реализации!
6. baracuda 2 12.12.17 13:56 Сейчас в теме
Статья о чем? О том что есть oData и по url с параметрами можно "какие-то" данные получить?

Ожидал увидеть какую нибудь реализацию какого нибудь мало мальски сложного проекта. А получил как обычно.
8. Dementor 690 12.12.17 16:53 Сейчас в теме
(6) Жаль, что вы не попали в целевую аудиторию. Я ориентировался больше на новичков, которых нужно заинтересовать и показать новый интересный путь применения своих навыков.

P.S. Ждем от вас обещанную статью по реализации "какого нибудь мало мальски сложного проекта" в виде DashBoard на базе OData.
user843241; TreeDogNight; lueur; +3 Ответить
9. baracuda 2 12.12.17 17:03 Сейчас в теме
(8) если я свою задачу по написанию софта на ТСД решу через oData, то статья будет не переживайте.
42. al_zzz 160 19.09.19 11:06 Сейчас в теме
Видимо, так и не решил...
Drivingblind; user843241; MarinaLed; YanTsys; dron9205; user1300186; user756416; Dementor; +8 Ответить
10. Alien_job 172 12.12.17 19:37 Сейчас в теме
(6)Поддерживаю, статьи "как я прочитал по OData элементы справочника" переодически появляются, но статьи https://infostart.ru/public/403426/ и https://infostart.ru/public/503059/ за авторством https://infostart.ru/profile/63337/ убедительно свидетельствуют о неработопригодности технологии.

"Помимо выпуска OData SDK для разработки под .NET, AJAX, PHP, Java, JavaScript, WebOS и Objective-C, эта компания внедрила данный протокол в свои популярные продукты: Excel, PowerPoint, SharePoint, MsSQL и других."

А вот 1С у себя не реализовала работу с О-Дата, поэтому при попытке интегрировать одну базу 1с с другой через этот механизм - велкам в велосипедостроение.

Возможно автор в следующей статье раскроет тему создания и изменения документов 1С из другой базы 1С посредством OData, был бы очень признателен.
11. ni032mas 99 13.12.17 07:57 Сейчас в теме
(10)
Возможно автор в следующей статье раскроет тему создания и изменения документов 1С из другой базы 1С посредством OData, был бы очень признателен.

Механизм очень даже рабочий и в последних версиях платформы улучшен и исправлены критические баги. Создавать и изменять документы из другой базы 1С лучше с помощь планов обмена. ODATA хорошо подходит для интеграции со сторонними системами. Я например, успешно скрестил 1С и нативный клиент android с помощью ODATA.
12. Alien_job 172 13.12.17 11:32 Сейчас в теме
(11) одна из особенностей одата - то что не нужно изменять конфигурацию с которой собираешься интегрироваться. И планы обмена тут не подходят
13. Dementor 690 13.12.17 16:36 Сейчас в теме
(10) у меня заметки еще на 3-4 статьи. Если делать одну мегастатью, то она будет закончена только к весне, а читать ее будут единицы. И так "многа букав" получилось. Во второй заметке по плану будет простое изменение и удаление. В третьей будет обмен.
15. karimov_m 13.12.17 22:49 Сейчас в теме
Автору:
Я открыл статью с перечнем самых популярных на сегодняшний день библиотек создания таблиц и нашел в нем простенькую библиотечку jsGrid как раз для нашего случая. Изучаем их сайт, берем пример ихнего кода по использованию OData и вставляем туда путь к нашим данным.

аай. больно то как. аа))
16. Dementor 690 14.12.17 02:39 Сейчас в теме
(15) а как правильно? Просто я обучался в украиноязычной школе, а в украинском языке именно так и будет: "...беремо приклад їхнього коду по використанню...". Думаю, что подобная проблема есть и у некоторых жителей Курской, Воронежской, Ростовской, Белгородской областей и Краснодарского края ;-)
18. dock 40 14.12.17 09:02 Сейчас в теме
(16) Считается, что в литературном языке такого слова "ихнего" нет. Это просторечное слово, т.е. используется только в устной речи.
А ведь на этом сайте присутствуют только высококультурные, с высшим филологическим образованием пользователи. Поэтому совершенно недопустимо использовать в письменной форме просторечия!
Учитывая всё вышесказанное написанное, правильное написание "берем пример их кода" и ни в коем случае "ихнего"!
З.Ы. САРКАЗМ
TreeDogNight; letzteKraft; +2 Ответить
21. karimov_m 14.12.17 11:11 Сейчас в теме
(18) В устной речи так тоже нельзя говорить) Точнее, говорить то можно.. но.. черт побери, это режет слух..
letzteKraft; +1 Ответить
20. karimov_m 14.12.17 11:09 Сейчас в теме
(16) Да, правильно будет "Их"
17. dock 40 14.12.17 08:32 Сейчас в теме
(15)
Словарь Ожегова
Ихний
-яя, -ее, мест. притяж. (прост.). То же, что их (во 2 знач.). * По-ихнему (прост.) — 1) нареч., по их воле, желанию. Упрямые, все будь по-ихнему; 2) нареч., так, как делают они. Не буду поступать по-их-нему; 3) вводи, ел., по их мнению. Я, по-их-нему, бездельник.

:) вполне нормальное слово
19. dock 40 14.12.17 09:19 Сейчас в теме
22. Dementor 690 14.12.17 12:44 Сейчас в теме
(15) и (17) спасибо за урок стилистики. Загуглил и оказалось, что в русском это вполне себе литературное слово, которое любили употреблять Булгаков, Толстой, Достоевский, Чуковский и многие другие классики (и современники); не говоря о том, что это слово есть в словарях Даля, Ушакова и Ожегова.
23. karimov_m 14.12.17 12:55 Сейчас в теме
(22) Литературное, спору нет..

Но вот воспринимается оно примерно так же, как если говорить: Ехай, тута, накласть, заместо, здеся, ивоный, "у ней", тама, "в лифту" и тп..

Но каждому, конечно же, своя стилистика..
YanTsys; eeeio; +2 Ответить
24. dock 40 15.12.17 11:37 Сейчас в теме
Ох развели холивар... устроили флудильню...
по теме:
у меня заметки еще на 3-4 статьи. Если делать одну мегастатью, то она будет закончена только к весне, а читать ее будут единицы. И так "многа букав" получилось. Во второй заметке по плану будет простое изменение и удаление. В третьей будет обмен.

Когда ждать "по плану" продолжение ? :) Готовы почитать даже заметки :)
25. Dementor 690 15.12.17 15:48 Сейчас в теме
(24) Могу сказать только что вторая статья точно будет в этом году.

Готовы почитать даже заметки :)

А толку? Так ведь можно на ИТС открыть раздел документации и вроде все уже ясно.
26. VasilVtoroy 15.12.17 18:22 Сейчас в теме
а особенно актуально ограничить раскрываемую информацию по параметру $expand, который тянет полностью весь связанный объект, в то время когда нам нужны из него всего одно-два поля.


Такая возможность давно есть, вот документация:

https://its.1c.ru/db/v8311doc#bookmark:dev:TI000001365

http://host/base/odata/standard.odata/Catalog_Клиенты?$expand=Сертификат&$select=Сертификат/Дата
27. VasilVtoroy 15.12.17 18:25 Сейчас в теме
"Просмотрев результат, мы можем заметить, что у нас нет представлений для контрагентов, а только ключи для таблицы справочника контрагентов. Следовательно будем запрашивать и эти вспомогательные данные."

Можно проще:

https://its.1c.ru/db/v8311doc#bookmark:dev:TI000001361, подраздел
___Presentation

Хотя все равно спасибо за описание способа связывания запросов
28. Dementor 690 15.12.17 19:24 Сейчас в теме
(27)
Хотя все равно спасибо за описание способа связывания запросов

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

Про возможность получить представление, если явно запросив его через параметр $select, я уже в курсе, но все равно спасибо за замечание.

(26) Приятно, что кто-то внимательно прочитал :)
29. Vi_ru_S123 07.02.18 11:16 Сейчас в теме
Добрый день. Подскажите пожалуйста. Пытаюсь использовать year(дата) в GET запросе через браузер строку но мне выдает ошибку:

<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>6</m:code>
<m:message>Сегмент пути Дата не найден!</m:message>
</m:error>

вот сам запрос: http://localhost/server/odata/standard.odata/AccumulationRegister_Продажи_RecordType?$filter=year(Дата) eq 2018

в: http://localhost/server/odata/standard.odata/$metadata следующие данные:

<EntityType Name="AccumulationRegister_Продажи_RecordType" OpenType="true">
<Key>
<PropertyRef Name="Recorder"/>
<PropertyRef Name="LineNumber"/>
<PropertyRef Name="Recorder_Type"/>
</Key>
<Property Name="Recorder" Type="Edm.String" Nullable="false"/>
<Property Name="Period" Type="Edm.DateTime" Nullable="true"/>
<Property Name="LineNumber" Type="Edm.Int64" Nullable="false"/>
<Property Name="Active" Type="Edm.Boolean" Nullable="true"/>
<Property Name="Номенклатура_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="ХарактеристикаНоменклатуры_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="ЗаказПокупателя" Type="Edm.String" Nullable="true"/>
<Property Name="ДоговорКонтрагента_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="ДокументПродажи" Type="Edm.String" Nullable="true"/>
<Property Name="Подразделение_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="Проект_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="Организация_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="Контрагент_Key" Type="Edm.Guid" Nullable="true"/>
<Property Name="Количество" Type="Edm.Double" Nullable="true"/>
<Property Name="Стоимость" Type="Edm.Double" Nullable="true"/>
<Property Name="СтоимостьБезСкидок" Type="Edm.Double" Nullable="true"/>
<Property Name="НДС" Type="Edm.Double" Nullable="true"/>
<Property Name="Recorder_Type" Type="Edm.String" Nullable="false"/>
<Property Name="ЗаказПокупателя_Type" Type="Edm.String" Nullable="true"/>
<Property Name="ДокументПродажи_Type" Type="Edm.String" Nullable="true"/>
<NavigationProperty Name="Номенклатура" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_Номенклатура" FromRole="Begin" ToRole="End"/>
<NavigationProperty Name="ХарактеристикаНоменклатуры" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_ХарактеристикаНоменк­латуры" FromRole="Begin" ToRole="End"/>
<NavigationProperty Name="ДоговорКонтрагента" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_ДоговорКонтрагента" FromRole="Begin" ToRole="End"/>
<NavigationProperty Name="Подразделение" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_Подразделение" FromRole="Begin" ToRole="End"/>
<NavigationProperty Name="Проект" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_Проект" FromRole="Begin" ToRole="End"/>
<NavigationProperty Name="Организация" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_Организация" FromRole="Begin" ToRole="End"/>
<NavigationProperty Name="Контрагент" Relationship="StandardODATA.AccumulationRegister_Продажи_RecordType_Контрагент" FromRole="Begin" ToRole="End"/>
</EntityType>

У меня конфигурация УТ 10.3.46.2 Платформа 8.3.11.2867

Скажите пожалуйста как сформировать запрос что бы мне выдало данные за 2018?
30. Dementor 690 07.02.18 21:44 Сейчас в теме
(29) сейчас проверить не могу, но почему Дата? Вы дорабатывали УТшку и явно создали такое измерение? Если нет, то нужен Период.
31. user895038 20.03.18 00:00 Сейчас в теме
Правильно ли я понимаю, что через ODATA/REST я могу получить только примитивные данные, хоть и используя фильтрацию.
Т.е. я не могу увидеть в номенклатуре родителя - только ссылку на него, а чтобы узнать Наименование родителя мне нужно выполнить следующий запрос, используя ранее полученный Guid?
А также, я не могу получить результат запроса к двум соединенным таблицам? Мне надо сначала отфильтровать первую таблицу, запомнить список данных связанного поля, а следующим запросом получить уже данные второй таблицы, послав в запросе весь запомненный список.
И уже только на клиенте я могу соединить две полученные таблицы.

Если это не устриавает, то надо использовать преднастроенные WS ссылки и SOAP
32. maxx 903 30.03.18 12:51 Сейчас в теме
(31)
Правильно ли я понимаю, что через ODATA/REST я могу получить только примитивные данные, хоть и используя фильтрацию.
Т.е. я не могу увидеть в номенклатуре родителя - только ссылку на него, а чтобы узнать Наименование родителя мне нужно выполнить следующий запрос, используя ранее полученный Guid?


Нет неправильно, в запросе для полей ссылочных данных можно использовать слово $expand=ВашаПолеСсылка/Parent

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

Если это не устриавает, то надо использовать преднастроенные WS ссылки и SOAP


Вот тут да, нужно делать в несколько шагов. Только я бы использовал hs ссылки, а не SOAP он по легче будет.
33. user895038 06.04.18 13:40 Сейчас в теме
(32)
Спасибо за ответ. В общем, я плюнул на это дело и сделал WEB сервис(5 строчек кода), принимающий текст запроса, и посылающий в ответ таблицу в формате JSON.
По легкости ответа получилось как REST, а по сути полноценный инструмент для получения любых данных, к которым разрешен доступ подключающемуся пользователю.
34. m912 13.06.18 09:46 Сейчас в теме
А что с авторизацией? Как я понял любые данные могут быть получены без пароля?
35. Dementor 690 13.06.18 13:34 Сейчас в теме
(34) авторизация есть. Хотя при желании "анонимности" можно прописать логин/пароль для подключения напрямую в публикацию на веб-сервере.
36. pavel_pss 264 04.12.18 17:05 Сейчас в теме
Спасибо, за статью. очень интересно, Убили с напарником целый день на повторение и приведение к нормальному виду, В итоге плюнули на это, т.к. больше 500 строк редактор запроса в офис 2016 не показывает (после слияния двух таблиц запросов с 3 колонками), а в саму форму эксель из редактора вообще не смогли вернуть, пишет ошибку соединения.
Dementor; +1 Ответить
37. Dementor 690 04.12.18 21:45 Сейчас в теме
(36) спасибо за отзыв. Год назад резко сменил деятельность и не успел самостоятельно по граблям попрыгать. Кстати, если интересна данная тематика, то посмотрите запись недавнего хакатона: https://www.youtube.com/watch?v=gYcKdXtrdRw&t=4s
38. mulder242 3 27.05.19 10:09 Сейчас в теме
Добрый день, кто-нибудь сталкивался с ошибкой при подключении
у меня при попытке вызвать ссылку

localhost/имябазы/odata/standard.odata/

ошибка
Сеанс отсутствует или удален ID=5555855a-628a-4471-9bea-4ffaaff85f1b, File=src\ClusterDistribImpl.cpp(1436)
Прикрепленные файлы:
39. IvanPoh 15 31.05.19 17:35 Сейчас в теме
Добрый день. Я правильно понял что в запросной строке нельзя одновременно наложить filter и select?
Допустим я хочу выбрать организацию с ИНН = "11111111111111" и вернуть только ссылку:
http://192.168.1.1/MyBase1c/odata/standard.odata/Catalog_Организации?$filter=ИНН eq '11111111111111'?$select=Ref_Key
В ответ упорно приходят все поля. На ИТС тоже нигде не нашел ни примера, ни упоминания о совместном использовании filter и select.
40. distorshion 14 23.06.19 21:36 Сейчас в теме
(39)
Да можно конешно вот например :

http://localhost/Zup/odata/standard.odata/Catalog_СотрудникиОрганизаций?$format=json&$filter=cast(ПодразделениеОрганизации, 'Catalog_ПодразделенияОрганизаций') eq guid'd9506d66-165d-11df-b6af-00195b699aff'&$select=Description,Ref_Key

тут фильтр по подразделению, а выбор полей Наименование и уид
Dementor; IvanPoh; +2 Ответить
41. Derushev 5 13.09.19 23:17 Сейчас в теме
Доброго дня! Подскажите, можно ли в строке запроса исключить кириллицу?
Например, вместо http://*.*.*.*/U10/odata/standard.odata/Catalog_Номенклатура?$select=Ref_Key,Description,IsFolder%20&$format=json;odata=nometadata, Написать http://*.*.*.*/U10/odata/standard.odata/Catalog_Goods?$select=Ref_Key,Description,IsFolder%20&$format=json;odata=nometadata
Что нужно сделать для этого?
43. Дмитрий74Чел 187 31.10.19 15:13 Сейчас в теме
(41) задать наименования объектов в конфигураторе на английском. Т.е. сделать конфу где все объекты с английскими именами. :-)
Dementor; +1 Ответить
44. user719779 13.11.19 10:01 Сейчас в теме
Добрый день. У заказчика поднял Rest. Все было хорошо до того момента пока не попытался получить запись из регистра сведений КонтактнаяИнформация. Формирую обычный http запрос на получение записи по ид
http://host/base/odata/standard.odata/InformationRegister_КонтактнаяИнформация(Объект='5e98dd87-0481-11ea-bab4-00155d006608',%20Объект_Type='StandardODATA.Catalog_КонтактныеЛицаКонтрагентов',%20Тип='Телефон',%20Вид='2388c2a9-98e9-4282-8a93-9940c9ef0a86',%20Вид_Type='StandardODATA.Catalog_ВидыКонтактнойИнформации')
либо
http://host/base/odata/standard.odata/InformationRegister_КонтактнаяИнформация(Объект=cast(guid'5e98dd87-0481-11ea-bab4-00155d006608', 'Catalog_КонтактныеЛицаКонтрагентов'), Тип='Телефон', Вид=cast(guid'2388c2a9-98e9-4282-8a93-9940c9ef0a86', 'Catalog_ВидыКонтактнойИнформации')).
В 1 случае 400 ошибка. Во втором случае возвращалось Произошла внутренняя ошибка OData сервиса.
По 1 если увеличить максимальный размер запроса тоже возвращается Произошла внутренняя ошибка OData сервиса. Если для поля вид убрать комплексный тип (а там сейчас строка и ВидКонтактнойИнформации) и оставить только ВидКонтактнойИнформации - то все начинает работать. Но убирать его нельзя потому что уже есть данные с типом строка. Можете подсказать как бороться с подобным?
Оставьте свое сообщение

См. также

StartManager 1.4 - Развитие альтернативного стартера Промо

Стартеры 1С v7.7 v8 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    114146    766    Alexoniq    1527    

Регистрация документов с измененной суммой

Обработка документов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.04.2019    13821    3    ryan    0    

Валовая прибыль для УПП 1.3, КА 1.1 в режиме РАУЗ (работа типового отчета без доработок конфигурации)

Обработка документов v8 КА1 УПП1 УУ Абонемент ($m)

Простое и мгновенное решение для использования типового отчета "Валовая прибыль" в конфигурациях "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1" (а также отраслевых решений на их базе) при включенном режиме РАУЗ (расширенная аналитика учета затрат). Не требует настройки или изменения конфигурации, либо может быть, для дополнительного удобства, интегрировано в нее с минимальными доработками.

2 стартмани

21.01.2019    15121    16    stvorl    11    

Многопоточная обработка данных

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

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    16855    48    _ASZ_    15    

Блин, мы забыли включить регламентные задания… Промо

Сервисные утилиты v8 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    13431    14    slozhenikin_com    37    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    18784    253    morozov.sv    34    

Универсальный инструмент для переноса данных через табличный документ (УФ)

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

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

5 стартмани

15.10.2018    27924    111    json    33    

Как подружить 1С и Power BI: личный опыт визуализации управленческих данных

Администрирование данных 1С Россия Бесплатно (free)

Аналитика для предприятия – это, скорее, необходимость, чем роскошь. Визуальное представление данных позволяет оперативно принимать и оценивать управленческие и коммерческие решения. Так, Microsoft Power BI является прекрасной платформой для построения динамических и интерактивных отчетов. В статье рассмотрен вариант подключения 1С в качестве источника данных через OData.

04.10.2018    32437    0    zhogov    65    

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

Обработка справочников Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 v8::УФ 1cv8.cf УУ Абонемент ($m)

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

5 стартмани

29.07.2015    29058    7    taurus__    19    

TextRadar - нечеткий поиск в тексте

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

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

1 стартмани

19.09.2018    13859    15    TSSV    14    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    17108    12    RocKeR_13    16    

Помощник корректировки остатков ЕГАИС в небольшом магазине. Розница 2.2

Розничная торговля Обработка документов Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Абонемент ($m)

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

5 стартмани

08.09.2018    26723    82    asdfgcom    46    

Очистка регистрации обмена Промо

Чистка базы v8 v8::ОУ УТ10 Абонемент ($m)

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

1 стартмани

19.09.2017    14780    5    serg-lom89    0    

Расширение резервов отпусков

Обработка документов Зарплата Зарплата v8 v8::СПР ERP2 ЗКГУ3.0 ЗУП3.x Россия БУ Абонемент ($m)

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

2 стартмани

10.08.2018    21012    51    СергейКа    16    

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

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

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

5 стартмани

09.08.2018    24123    25    informa1555    26    

Работа с данными выбора

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

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

1 стартмани

17.07.2018    36664    17    kalyaka    16    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо

Чистка базы Сервисные утилиты Администрирование данных 1С v8 1cv8.cf Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    31473    347    Eugen-S    34    

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних)

Чистка базы v8 Абонемент ($m)

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    13608    19    Alexander.Shvets    9    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар")

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    26600    86    m-rv    57    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному

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

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    39403    33    dsdred    36    

Безопасная работа с транзакциями во встроенном языке Промо

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

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    28213    9    tormozit    44    

Как выполнить отчет на СКД через COM и получить данные отчета?

Практика программирования v8 УПП1 Россия Абонемент ($m)

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    24411    8    wowik    3    

Автоматическое заполнение графиков в ЗУП 3.1

Зарплата Учет рабочего времени Обработка справочников Зарплата Учет рабочего времени v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).

1 стартмани

05.05.2018    19455    18    notserioussam    2    

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

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

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

1 стартмани

24.04.2018    39385    83    kalyaka    34    

Помощник по закрытию месяца для УТ 11.3 Промо

Закрытие периода Обработка документов Закрытие периода Закрытие периода v8 v8::ОУ УТ11 Россия УУ Абонемент ($m)

Помощник по закрытию месяца для УТ 11.3. Имеет две функции: обнуление товаров "К оформлению" в интеркампани и обнуление отрицательных остатков в регистре "Себестоимость товаров".

5 стартмани

10.11.2017    19547    25    Zalipaka    1    

Добавление возможности в конфигурации ЗУП 3.1 работать с фотографиями сотрудников (Зарплата и Управление Персоналом, редакция 3.1)

Обработка справочников Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

Добавление возможности в ЗУП 3.1 работать с фотографиями сотрудников (физических лиц). Расширение тестировалось на релизе ЗУП 3.1.5.129.

1 стартмани

09.04.2018    26270    67    charivnick    3    

Практикум по созданию обменов данными через протокол oData «за полдня»

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

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

1 стартмани

20.03.2018    24229    13    timm00    64    

Повышение качества разработок и онлайн контроль ошибок

Журнал регистрации v8 Абонемент ($m)

Анализ ошибок и сбор ошибок журнала регистраций из десятков и сотен баз в одном месте.

09.03.2018    24712    8    DitriX    48    

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

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка удаления помеченных объектов с расширенным функционалом. Работает в обычном и управляемом приложении. Монопольный и разделенный режим работы. Отображение и отбор по структуре метаданных. Отборы данных произвольными запросами. Копирование и сохранение отборов. Удаление циклических ссылок (рекурсия). Представление циклических в виде дерева с отображением ключевых ссылок, не позволяющих удалить текущий объект информационной базы. Удаление записей связанных независимых регистров сведений. Групповая замена ссылок. Индикатор прогресса при поиске и контроле ссылочности.

10 стартмани

31.10.2016    46439    557    m..adm    201    

Заполняем по шаблону (по умолчанию)

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

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

1 стартмани

08.02.2018    24058    19    mvxyz    17    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов

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

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    31964    54    rpgshnik    48    

Списание (корректировка) задолженности контрагентов УНФ 1.6 Промо

Закрытие периода Дебиторская и кредиторская задолженность Обработка документов Дебиторская и кредиторская задолженность v8 УНФ Украина БУ Абонемент ($m)

Обнуление задолженности контрагентов в конфигурации "Управление небольшой (нашей) фирмой" версии 1.6 с помощью документа "Корректировка регистров".

1 стартмани

24.07.2019    16382    12    DMon    1    

Корректировка остатков ЕГАИС, возврат из регистра 2, загрузка ТТН из файлов, другое для УТ10.3

Розничная торговля Обработка документов Розничная торговля v8 v8::ОУ УТ10 Россия БУ Абонемент ($m)

Набор обработок для автоматизации работы с ЕГАИС: Обработка корректировки остатков ЕГАИС для УТ 10.3, аналогичная имеющимся в УТ 11, Рознице 2.2. Автоматически формирует документы "Передача в торговый зал", "Акт постановки на баланс в торговом зале", "Акт списания в торговом зале". Обработка возврата из регистра 2 с подбором справок Б. Обработка формирования ТТН из файлов xml.

1 стартмани

24.01.2018    29639    27    biz-intel    3    

Практика доступа в базу 1С через протокол oData. Изменение данных

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

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

1 стартмани

30.12.2017    31113    115    Dementor    27    

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула

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

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    34428    27    agent00mouse    0    

Прыг-Скок...или из MS EXCEL в 1С (8.2) (открытый код) Промо

Обработка документов Обработка справочников Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Универсальная загрузка данных из Microsoft Office Excel. Автоматическая загрузка из любых по форме документов с очень удобным редактором. Почти готовый шаблон для любой конфигурации. Не требует регистрации-бесплатно.

1 стартмани

16.09.2015    57759    347    Tatitutu    48    

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1

Обработка документов Загрузка и выгрузка в Excel Зарплата Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Абонемент ($m)

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

3 стартмани

20.12.2017    40618    31    mvv1975    7    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

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

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

1 стартмани

06.12.2017    23975    49    kwazi    6    

Копирование меню в Трактир Management

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

Механизм копирования меню в Трактир Management. Данная обработка расширяет функционал типового решения Трактир Management, позволяя быстро вводить в эксплуатацию новую точку путём создания нового меню на основании имеющегося.

1 стартмани

28.11.2017    24283    4    integrator1983    0    

Вам нравятся запросы в 1С? Промо

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    16465    4    m-rv    86    

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Сервисные утилиты v8 Абонемент ($m)

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

1 стартмани

14.11.2017    19179    86    bonv    15    

Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2

Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 v8::ОУ ERP2 УТ11 Россия УУ Абонемент ($m)

Внешняя обработка "Загрузка дополнительных реквизитов и сведений справочника Номенклатура"

1 стартмани

07.08.2017    34929    231    Windyhead    32    

Легкое и гибкое управление списком доступных баз 1С у пользователей Промо

Стартеры 1С Сервисные утилиты Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

5 стартмани

05.12.2018    12715    11    RomikR    9    

Настройка веб сервера Apache + 1С (Пошаговое руководство)

Администрирование данных 1С Apache v8 1cv8.cf Бесплатно (free)

Пошаговое руководство настройки Web сервера Apache на Windows. Не секрет, что файловые базы через веб-сервер будут работать намного шустрее, чем через обычный доступ к сетевому каталогу. Эффект особенно заметен, когда старые компы вообще не справляются с обычным сетевым доступом, регулярно выплевывают 1С. А доступ через веб сервер даже на компьютерах серии "Хлам" работает на ура!

19.07.2017    226163    0    Aleksey81    146    

Расширения конфигураций 1С: учимся перехватывать методы

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

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

1 стартмани

30.05.2017    111226    13    signum2009    45    

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

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

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

26.05.2017    45856    15    DarkAn    86    

Перемещение остатков по счету МЦ04 между материально ответственными лицами для конфигураций (8.2). Промо

Обработка документов Универсальные обработки Учет ТМЦ Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

Небольшая обработка, которая позволяет перекидывать остатки по счету МЦ04 с одного материально ответственного лица на другое

1 стартмани

22.11.2012    10953    13    niksaf    4    

Упрощение работы с актами сверки в УТ/КА/УПП - вывод номеров счетов в документе и печатной форме

Обработка документов Печатные формы документов Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 КА1 УТ10 УПП1 БУ УУ Абонемент ($m)

Обычно акт сверки с клиентами содержат информацию о документах реализации товаров (накладных) и выполненных платежах. Но платежи делаются на основании счетов, номера которых отсутствуют в актах, что затрудняет собственно сверку. Данная обработка находит соответствующие расходным накладным счета/заказы, показывает их в форме документа и выводит в печатную форму акта.

2 стартмани

12.05.2017    23956    4    denmax    2    

Автокликер для 1С

Сервисные утилиты v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.04.2017    28085    70    slava_1c    49    

Загрузка номенклатуры по штрихкоду: Управление Торговлей 11.3; Розница 2.2; Розница для Казахстана 2.2

Обработка справочников Оптовая торговля Розничная торговля Ценообразование, анализ цен Ценообразование, прайсы Оптовая торговля Розничная торговля Ценообразование, анализ цен v8 v8::ОУ v8::УФ Розница УТ11 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Абонемент ($m)

Розница 2.2, Управление Торговлей 11.3. Создание номенклатуры из интернета с помощью сканера штрихкодов либо терминала сбора данных. Варианты создания, автовыбор наилучшей позиции, источники, цены, загрузка картинки - всё это очень гибко и просто настраивается. Текущие открытые источники: barcode-list.ru(на текущий момент не работает); goodsmatrix.ru; ean13.info(может не работать капча); barcodes.olegon.ru. Автор программы не несёт ответственность за информацию, предоставляемую перечисленными выше открытыми источниками, так же не отвечает за их работоспособность. Данные источники принадлежат не автору программы. Данная программа нужна лишь для автоматизированного поиска информации на них.

10 стартмани

30.03.2017    53413    119    myALKleon    40    

DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android

Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.

1 стартмани

24.02.2017    19621    9    user700211_a.straltsou    12