Учимся создавать http-сервисы (часть первая)

Публикация № 1293341 16.09.20

Разработка - Конфигурирование 1С

http web сервис

Пошаговое руководство по созданию http-сервиса.

Цель. Научиться создавать http сервисы на платформе 1С: Предприятие 8.

План обучения:

Подготовка объектов метаданных для сервиса.

  1. Создадим чистую базу данных.
  2. Добавим в базу данных справочник «Номенклатура»
  3. Добавим реквизиты в справочник «Номенклатура»
  4. Добавим регистр сведений «Штрих коды»
  5. Добавим измерения и ресурсы в регистр сведений «Штрих коды»
  6. Добавить общий модуль «Общего назначения»
  7. В общем модуле создадим функцию, которая вернет JSON строку с нашими данными
  8. Запустим платформу 1С: Предприятие 8 в режиме «предприятие» и заполним данными справочник «Номенклатура» и регистр сведений «Штрих коды»

Создание http сервиса:

  1. Открываем дерево метаданных ветка «Общие» - «HTTP-сервисы». Позиционируемся на объекте «HTTP-сервисы»
  2. Добавляем новый сервис.
  3. Закладка «Основные» поле «Имя». Задаем имя. Имя может быть любым. Желательно чтобы имя сервиса отражало его суть.
  4. Закладка «Основные» поле «Корневой URL». Необходимо задать имя корневого url.
  5. Закладка «Шаблоны URL». Добавляем новый шаблон. Задаем ему имя. Имя может быть любым. Желательно, чтобы имя отражало предназначение шаблона.
  6. В шаблоне добавляем метод. В данном методе будем программный код шаблона.

 

Публикация http сервиса:

  1. ВАЖНО, НА ВАШЕМ КОМПЬЮТЕРЕ УЖЕ ДОЛЖЕН БЫТЬ УСТАНОВЛЕН ВЕБ СЕРВЕР (APACHE (2.2 ИЛИ 2.4) ИЛИ ISS)
  2. Запускаем конфигуратор 1С: Предприятия 8 в режиме «Запуск от имени администратора»
  3. Главное меню Администрирование – Публикация на веб-сервере
  4. Закладка «Основные» поле имя. Необходимо задать имя. Имя должно быть сформировано по правилу формирования имен переменных. Имя не должно содержать русских букв.
  5. Закладка «Основные» поле «Каталог». Создаем на жестком диске каталог (например www) и указываем к нему путь. В данный каталог будет размещена публикация.
  6. Закладка «Основные» - закладка «HTTP сервисы». Устанавливаем флаг около нашего сервиса.
  7. Нажимаем кнопку «Опубликовать». Перезапускаем веб сервер.

Проверка работы http сервиса:

  1. Запускаем браузер.
  2. Прописываем в строке браузера ip адрес компьютера на котором работает веб сервис (в нашем случае это наша локальная машина)
  3. После этого если веб сервер запущен, мы должны увидеть в браузере соответствующее сообщение.

Если все нормально, в строке браузера прописываем путь к нашему сервису по определенному правилу и получаем результат работы сервиса.

 

Выполнение пунктов списка

 

Подготовка объектов метаданных

 

Создаем чистую базу данных:

Добавляем в базу данных справочник «Номенклатура»

Добавляем реквизит «Артикул» в справочник «Номенклатура»

Добавим регистр сведений «Штрихкоды»

Добавляем измерение и ресурсы в регистр сведений «Штрихкоды»

Измерение «Штрихкод» тип Строка длина Строки 100, ресурс «Номенклатура» ссылка на справочник «Номенклатура»

Добавляем общий модуль «ОбщегоНазначения»

В общем модуле напишем функцию, которая вернет JSON строку с данными

 


Функция ПолучитьНоменклатуру()Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Штрихкоды.Штрихкод КАК barcode,
	|	Штрихкоды.Номенклатура.Код КАК cod,
	|	Штрихкоды.Номенклатура.Наименование КАК name,
	|	Штрихкоды.Номенклатура.Артикул КАК articul
	|ИЗ
	|	РегистрСведений.Штрихкоды КАК Штрихкоды";
	
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();
	Массив = Новый Массив;
	Пока Выборка.Следующий()Цикл
		Структура = Новый Структура("barcode, cod, name, articul");
		ЗаполнитьЗначенияСвойств(Структура, Выборка);
		Массив.Добавить(Структура);
	КонецЦикла;
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, Массив);
	
	СтрокаJSON = ЗаписьJSON.Закрыть();
	Возврат СтрокаJSON;
	
	
КонецФункции

 

Обновим конфигурацию базы данных. Запустим программу в режиме «Предприятие». Заполним тестовыми данными справочник «Номенклатура» и регистр сведений «Штрихкоды»

Переходим к следующему пункту

Создание http сервиса

Открываем дерево метаданных ветка «Общие» - «HTTP-сервисы». Позиционируемся на объекте «HTTP-сервисы»

Добавляем новый сервис

Закладка «Основные» поле «Имя». Задаем имя. Имя может быть любым. Желательно чтобы имя сервиса отражало его суть. Закладка «Основные» поле «Корневой URL». Необходимо задать имя корневого url.

Закладка «Шаблоны URL». Добавляем новый шаблон. Задаем ему имя. Имя может быть любым. Желательно, чтобы имя отражало предназначение шаблона.

Закладка «Шаблоны URL». Добавляем новый шаблон. Задаем ему имя. Имя может быть любым. Желательно, чтобы имя отражало предназначение шаблона

В шаблоне добавляем метод. В данном методе будем программный код шаблона.

 


Функция ШаблонURL1ПолучитьДанныеПоНоменклатуре(Запрос)
	Ответ = Новый HTTPСервисОтвет(200);
	СтрокаJSON = ОбщегоНазначения.ПолучитьНоменклатуру();
	Ответ.УстановитьТелоИзСтроки(СтрокаJSON);
	Возврат Ответ;
КонецФункции

Публикация http сервиса

ВАЖНО, НА ВАШЕМ КОМПЬЮТЕРЕ УЖЕ ДОЛЖЕН БЫТЬ УСТАНОВЛЕН ВЕБ СЕРВЕР (APACHE (2.2 ИЛИ 2.4) ИЛИ ISS)

Запускаем конфигуратор 1С: Предприятия 8 в режиме «Запуск от имени администратора»

Главное меню Администрирование – Публикация на веб-сервере

Закладка «Основные» поле имя. Необходимо задать имя. Имя должно быть сформировано по правилу формирования имен переменных. Имя не должно содержать русских букв.

Закладка «Основные» поле «Каталог». Создаем на жестком диске каталог (например, www) и указываем к нему путь. В данный каталог будет размещена публикация.

Закладка «Основные» - закладка «HTTP сервисы». Устанавливаем флаг около нашего сервиса. Нажимаем кнопку «Опубликовать». Перезапускаем веб сервер.

Проверка работы http сервиса.

Запускаем браузер.

Прописываем в строке браузера ip адрес компьютера на котором работает веб сервис (в нашем случае это наша локальная машина)

После этого если веб сервер запущен, мы должны увидеть в браузере соответствующее сообщение.

Если все нормально, в строке браузера прописываем путь к нашему сервису по определенному правилу

Рассмотрим более подробно формирования строки запроса в строке адреса браузера

localhost/my_name/hs/products/get_product

localhost – ip адрес веб сервера. Если запускаем браузер с той же машины где установлен веб сервер то ip адрес либо localhost либо 127.0.0.1 либо 192.168.XXX.XXX

Таким образом получаем формулу по которой собираем адрес

Ip адрес / имя публикации / hs / корневой каталог / шаблон/

Видео инструкция по созданию http сервиса

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ubnkfl 16.09.20 19:12 Сейчас в теме
У вас на картинке видно, что вместо наименования на русском языке возвращаются крякозябры. Так и должно быть?
2. malikov_pro 734 16.09.20 20:36 Сейчас в теме
(1) Нет, нужно кодировку уточнить, хотя по умолчанию UTF-8 и тип данных

Ответ.УстановитьТелоИзСтроки(<Тело>, <Кодировка>, <ИспользоватьBOM>)
Ответ.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8")

maksa2005; ubnkfl; vitika_m; tony_more; +4 Ответить
7. hpi 331 16.09.20 23:35 Сейчас в теме
9. hpi 331 16.09.20 23:36 Сейчас в теме
(2)
Прикрепленные файлы:
crismar24; +1 Ответить
3. malikov_pro 734 16.09.20 20:41 Сейчас в теме
По оформлению скриншоты можно делать clip2net и только нужной части экрана. Код и скриншоты можно под спойлеры убирать, для более удобного чтения.

работу с JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Массив);
	
СтрокаJSON = ЗаписьJSON.Закрыть();
Возврат СтрокаJSON;

обычно в функцию оборачивают

Критика для того чтобы качество статьи было нормально и ссылку на статью можно было клиентам давать.
tony_more; +1 Ответить
5. hpi 331 16.09.20 23:02 Сейчас в теме
(3)благодарю за замечания.
4. Steelvan 123 16.09.20 23:01 Сейчас в теме
Без заголовков можно попробовать метатег "charset" в html/head для обозревателя прописать.

html
head
meta charset="utf-8"
vitika_m; +1 Ответить
6. Steelvan 123 16.09.20 23:03 Сейчас в теме
Согласен, снимки можно в свертки оборачивать.
8. hpi 331 16.09.20 23:35 Сейчас в теме
Нужно было установить кодировку
vitika_m; +1 Ответить
10. dsdred 1751 17.09.20 09:43 Сейчас в теме
Ожидал чего то другого. Тут про http сервис совсем мало.

А так вот цикл статей HTTP Сервисы: Путь к своему сервису. 1-4 части

https://infostart.ru/1c/articles/842751/
https://infostart.ru/1c/articles/885287/
https://infostart.ru/1c/articles/886103/
https://infostart.ru/1c/articles/893304/
MiDoS; Ish_2; eeeio; Drivingblind; ong1990; tony_more; +6 Ответить
13. vitika_m 17.09.20 10:27 Сейчас в теме
(10) Интересно, но слишком сложно. Для "чайника" такого как я слишком много информации:)
Но нужно с чего-то начать...
17. dsdred 1751 17.09.20 11:29 Сейчас в теме
(13)Вы конечно извините, но уменя более разжевано для чайников ))

например тут:
Ip адрес / имя публикации / hs / корневой каталог / шаблон/


У меня:
http://host/base/hs/корневойURL/относительныйURL?ПараметрыЗапроса

host – IP адрес или доменное имя веб сервера.

base – Имя базы. Указывается при публикации.

hs - признак того, что выполняется обращение к HTTP-сервису.

корневойURL - имя ресурса, которое определяет группу ресурсов, связанных общим смыслом.

относительныйURL - определяет ресурс, к которому будет выполняться обращение. Относительный URL, указанный в запросе, будет использован для определения конкретного ресурса, к которому выполнялось обращение. Правило сопоставления задается в объекте Шаблон URL.

ПраметрыЗапроса – Не всегда обязательные параметры передаются после знака «?», чаще всего дополнительные параметры или параметры выборки, например формат ответа(format=json или format=atom).

Как Вы можете заметить у меня более разжевано.
kondrat230386; vitika_m; Ish_2; Fox-trot; +4 Ответить
18. hpi 331 17.09.20 11:37 Сейчас в теме
20. Ish_2 1072 18.09.20 21:53 Сейчас в теме
(17)
Вы конечно извините, но уменя более разжевано для чайников ))


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


А у Вас жанр другой, с названием " Как я осваивал http-сервисы",
Другой жанр - другие читатели.
Чайникам я бы такое не рекомендовал.
karomag; user905340; vitika_m; +3 Ответить
21. dsdred 1751 19.09.20 06:49 Сейчас в теме
(20)
Нет. Для чайников лучше разжевано у автора.
Текст жестко структурированный , без размышлизмов ,
отличная краткая инструкция , быстро вводящая в тему нулевого пользователя.
У автора опыт преподавания - вне всякого сомнения.


Не согласен с Вами.
Лично я не увидел опыта преподавания. Статья в стиле "Изучаю http сервисы [Шпаргалка]" как раз таки жанр (" Как я осваивал http-сервисы")
Для чайников есть статья https://infostart.ru/1c/articles/516810/

Ценность текущей статья близка к нулю и вот почему:
1 Не показано как работать с параметрами, а http сервисы созданы для того чтобы что-то получать на основании чего-то.
2 Автор сделал ошибку которую я уже встречал в другой статье про http сервисы, ошибка редкая и "Чайник" вскипит при поиске веб сервера с названием "ISS". Возможно автор учится по той статье где я видел такую ошибку. Правильно конечно IIS.
3 Автор не делает отдельный модуль для методов (ОбщийМодуль я так понимаю для всего в подряд), следовательно у него либо не было опыта с граблями при отладке сервисов, либо он делает статью из разряда "хэллоу ворлд".
4 Не предполагается версионирование V1, V2 и т.д.
5 Судя по комментариям, автор узнал про кодировку благодаря читателям.
6 70-80% статьи вообще не про http сервисы.
7 Если в запросе вернется null, который запишется в одно из свойств структуры, то преобразование в JSON потерпит фиаско...
8 формула по которой собираем адрес. Формула?

Это на вскидку.
22. Ish_2 1072 19.09.20 11:03 Сейчас в теме
(21) При изучении наук примеры полезнее правил. (с) Ньютон.
Если я что-то изучаю с нуля мне не правила нужны ( я их потом изучу самостоятельно) , мне нужен сквозной практический пример ( в данном случае создания простейшего http сервиса).
Автор его дает сжато и быстро . На первом этапе другого и не нужно.
Передача параметров, кодировка и проч . неточности обучающийся выяснит после того как поймет , что это за зверь http -сервис.
23. hpi 331 19.09.20 14:30 Сейчас в теме
Благодарю Вас за найденную опечатку. Действительно IIS, а не ISS. Опечатка возникла из-за моей не внимательности, так как процесс написания проходил поздно ночью. Благодарю еще раз.
24. Ish_2 1072 20.09.20 10:37 Сейчас в теме
(21)
Это на вскидку.


"Вскидка" оказалось очень существенной.
Читать Вашу статью все равно пришлось.
Спасибо.
26. dsdred 1751 21.09.20 08:19 Сейчас в теме
(24)
"Вскидка" оказалось очень существенной.
Читать Вашу статью все равно пришлось.


Параметры все таки понадобились?


П.С. Я же не специально придираюсь, просто не люблю примеры из разряда "Пример мир".
29. Ish_2 1072 21.09.20 21:28 Сейчас в теме
(26)
просто не люблю примеры из разряда "Пример мир".


А я люблю, если понимать под словами "Пример мир" предоставление некоторого общего концепта , базовой идеи.
Например , концепт "Выполнятор" , суть которого - выполнение произвольного кода на внешнем ресурсе - совсем не нов , но хорош сам по себе. По-моему , красиво. Уверен , что где-то этот концепт или уже развернут или будет развернут в концепцию безопасного применения произвольного кода .
Читая Вашу статью , я задался вопросом а почему сразу "Выполнятор" ? может начать с задачи поскромнее и безопаснее : "Выполнение произвольного запроса на внешнем ресурсе 1с".
В параметрах http-запроса передается параметр "ТекстЗапроса", в обработчике метода пишем
СхемаЗапроса = Новый СхемаЗапроса();
СхемаЗапроса.УстановитьТекстЗапроса(ТекстЗапроса);
И если нет ошибок выполняем запрос и результат его выполнения
запишем в ЗаписьJSON.
В принципиальном плане вроде все просто-понятно .
Скорее всего кто -то уже реализовал эту идею , но на инфостарте я ничего такого не нашел. Не дадите ссылку ?
30. dsdred 1751 21.09.20 21:52 Сейчас в теме
(29)Очень странно, что не нашли. Вот пример запроса и параметры к нему. https://infostart.ru/public/955078/

Но! Это не безопасно.
Во первых рекомендую почитать комментарии.
Во вторых об выполняторах я выступал на митапе по безопасности 11 сентября и рассказывал почему это плохо.

Если кратко
-смотрим статью с ИТС https://its.1c.ru/db/v8std#content:770:hdoc
-Выполнятор может быть использован против вас. Можно запускать кривые запросы и вы даже не поймете почему тормозит.
-Вы постоянно гоняете текст запроса\код целиком это все равно что ходить в библиотеку со своими книгами и просить библиотекаря из них что то прочитать
-в случае изменения\обновления конфигурации источника, ваши поделки могут сломаться и тогда чинить их придётся во всех базах получателях.
31. Ish_2 1072 21.09.20 23:17 Сейчас в теме
(30) В статье https://infostart.ru/public/955078/ позабавило применение "СтрЗаменить(..)" .
Автор и комментаторы явно не в курсе , что все обозначенные вопросы
решает программный объект "СхемаЗапроса", полученный из ТекстЗапроса.
Программным способом без всякого парсинга можно проверить синтаксис ,количество пакетов, ограничить число записей (ПЕРВЫЕ), запретить -удалить вложенные запросы ( к табличным частям объектов)
удалить колонки (поля выборки) запроса, и проч. и проч.

Что касается Odata. Основное его назначение - обмен данными.
Если стоит задача произвольного чтения из базы ( сложные запросы с соединениями ) , то он не применим. Возразите ?.
Во всяком случае в статье https://infostart.ru/1c/articles/885287/
для формирования отчета "ОстаткиИДоступностьТоваров" Odata используется только для получения небольшого списка складов . Почему же протокол Odata не использовался при выводе тела отчета ?
Имея возможность выполнить произвольный запрос ( с понятными ограничениями) , не пришлось бы так выкручиваться , прибегая к созданию макета СКД.
Для меня такой пример как "танцы с бубном".
Впрочем , дело вкуса . Для демонстрации и обучения такой пример вполне подойдет.

(30)
-Выполнятор может быть использован против вас. Можно запускать кривые запросы и вы даже не поймете почему тормозит.


Кривые запросы возможны и в Odata. И Вы также "не поймете почему тормозит". Я хочу сказать , что общие соображения беспредметны и могут быть повернуты в любую сторону.

(30)
-Вы постоянно гоняете текст запроса\код целиком это все равно что ходить в библиотеку со своими книгами и просить библиотекаря из них что то прочитать

Не понял о чем это ? Мы все чего-то гоняем в разные стороны..


(30)
-в случае изменения\обновления конфигурации источника, ваши поделки могут сломаться и тогда чинить их придётся во всех базах получателях.


Предполагается , что обработчик метода http- сервиса , реализованного в расширении , проверяет корректность текста запроса перед запуском на выполнение , выполняет запрос и ничего более . Приведите пример такого изменения конфигурации. Оценим его вероятность и вредоносность для сервиса.
32. dsdred 1751 22.09.20 08:54 Сейчас в теме
(31)
Что касается Odata. Основное его назначение - обмен данными.
Если стоит задача произвольного чтения из базы ( сложные запросы с соединениями ) , то он не применим.


Все верно.

Кривые запросы возможны и в Odata.

Нет кривые запросы там не возможны, в OData другая болезнь. Если не использовать top и skip (https://infostart.ru/1c/articles/893304/) тогда тоже можно словить дикие тормоза.
Но OData контролируете Вы. Вы знаете какие объекты расшарили и кто их использует, зачастую еще и дали запрос тоже вы (по такому принципу я с вебером работал, он говорил что ему надо я смотрел как проще это организовать).

Не понял о чем это ? Мы все чего-то гоняем в разные стороны..

Одно дело передавать параметры, а другое дело гонять текст запроса...
Вы видели статью Ильдаровича для ускорения с Шагами в запросе. Я такие запросы видел вживую, его колесиком минут 5 листать...


Предполагается , что обработчик метода http- сервиса , реализованного в расширении , проверяет корректность текста запроса перед запуском на выполнение , выполняет запрос и ничего более . Приведите пример такого изменения конфигурации. Оценим его вероятность и вредоносность для сервиса.


Я правильно понимаю что вам придется заморочится с кучей проверок, нежели нарисовать сервис и гонять параметры?
33. Ish_2 1072 22.09.20 13:13 Сейчас в теме
(32) Если говорить по существу , то в целом согласен с приведенными доводами.

(32)
Я правильно понимаю что вам придется заморочится с кучей проверок, нежели нарисовать сервис и гонять параметры?


Ноги растут из обычной задачи : в центральном узле ERP в периферийных узлах базы разных поставщиков. Если узел 1с то ставим http-сервис - "читает все". Ну, будет он принимать текст запроса длиной 3-4 тысячи символов. И в чем проблема ?

В этом сервисе проверяется только корректность запроса для текущей базы. Заморочки при проверке небольшие : в запросе только один пакет , запрещены вложенные запросы, в некоторых случаях обязательно наличие периода и проч.
Все проверки простые ( используя объект СхемаЗапроса). В ERP создаются шаблоны запросов к каждой базе 1с.

Таким в данный момент мне видится сценарий решения этой задачи.
11. tony_more 17.09.20 10:21 Сейчас в теме
Когда ожидать вторую часть?!
vitika_m; +1 Ответить
19. hpi 331 17.09.20 11:38 Сейчас в теме
(11)Добрый день. По нашим планам одна статья в неделю.
34. hpi 331 23.09.20 07:15 Сейчас в теме
Добрый день. Часть вторая "Передача параметров в сервис" https://infostart.ru/1c/articles/1296740/
12. tony_more 17.09.20 10:26 Сейчас в теме
Было бы интересно еще узнать каким образом благодаря HTTP запросам получать данные из другой базы 1С. Получается что есть две БД, одна пользовательская, вторая серверная. На серверной все данные собираются в JSON и потом это дело открывать в пользовательской БД. Подскажите как реализовать такого рода обмен данными
vitika_m; +1 Ответить
14. VKislitsin 666 17.09.20 10:39 Сейчас в теме
(12) Для таких целей больше подходит интерфейс OData. При этом в серверной даже дорабатывать ничего не нужно. Все доработки на стороне клиентской ИБ.
15. tony_more 17.09.20 10:45 Сейчас в теме
(14)
OData
Хмм, не слышал об этом. Спасибо, пойду изучать что это за технология
16. dsdred 1751 17.09.20 11:26 Сейчас в теме
(15)В комментарии 10 есть все примеры.
Там и OData есть во второй части
25. tony_more 21.09.20 08:15 Сейчас в теме
Здравствуйте. Разобрался с запросами и получением данных с сервера. Теперь вопрос такой что каким образом мне осуществить передачу новых документов с мобильной части на серверную?
27. dsdred 1751 21.09.20 08:25 Сейчас в теме
28. dsdred 1751 21.09.20 08:49 Сейчас в теме
(25)
1 Вариант с Планом обмена.
Делаете план обмена и регистрируете документы. делаете ожидание которое раз в какое-то время собирает JSON из зарегистрированных к обмену документов и передает в HTTP сервис в основной базе.
2 Вариант делаете в документе кнопку передать и в момент нажатия собираете структуру в JSON и черед http сервис передаете в основную конфигурацию

3 Вариант без http сервисов.
С мобилки в виде файла передаете на fttp или облако а основная конфигурация по расписанию читает файлы если они есть (вариант аля конвертация данных)
35. пользователь 23.09.20 10:35
Сообщение было скрыто модератором.
...
36. ICeZm 20 12.10.20 15:38 Сейчас в теме
37. gelmoriel 28.10.20 16:57 Сейчас в теме
при обращении к http сервису в браузере выскакивает окно авторизации. Есть способ его убрать? Или как это решается?
38. hpi 331 28.10.20 21:18 Сейчас в теме
Добрый день. В это окно нужно ввести логин пользователя и пароль. При программном подключении логин и пароль передаются как некие параметры в зависимости от того на каком языке программирования вы подключаетесь к http сервису. Если вы подключаетесь из 1С, то логин и пароль передаются в конструктор класса HTTPСоединение.
Оставьте свое сообщение

См. также

Типовые операции в 1С: БГУ 2. Часть 4. Заключение

Механизмы бухгалтерского учета v8 v8::БУ 1cv8.cf БУ Бесплатно (free)

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

14.09.2021    318    ldmonster    8    

Типовые операции в 1С: БГУ 2. Часть 3

Механизмы бухгалтерского учета v8 v8::БУ БГУ БУ Госбюджет Бесплатно (free)

В данной статье автор расскажет, что такое типовые операции в конфигурации бухгалтерии для госсектора, установит стандарты качества написания типовых операций. Часть 3. Разбор четвертой страницы формы типовой операции "Проводки", знакомство с источниками данных, формирующих проводку, первое знакомство с языком СКД.

10.09.2021    311    ldmonster    0    

Типовые операции в 1С: БГУ 2. Часть 2

Механизмы бухгалтерского учета v8 v8::БУ БГУ Госбюджет Бесплатно (free)

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

09.09.2021    414    ldmonster    0    

Типовые операции в 1С: БГУ 2. Часть 1

Механизмы бухгалтерского учета v8 v8::БУ БГУ БУ Госбюджет Бесплатно (free)

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

07.09.2021    538    ldmonster    2    

Своя форма выбора типа, метаданных (Infostart Toolkit)

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

Зачем своя форма выбора? Полезные функции и особенности работы.

26.07.2021    2309    Evg-Lylyk    17    

Программное создание расширения

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

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    4441    Yashazz    13    

Новая упрощенная процедура перерасчета записей регистров расчета (пример)

Расчетные механизмы v8 1cv8.cf Россия Бесплатно (free)

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

24.03.2021    596    galexmvs    5    

Динамический список и поиск... неприятностей

Работа с интерфейсом Конфигурирование 1С v8 Бесплатно (free)

Страх и ненависть в поиске по динамическому списку, или "Кое-что о неоптимальном отборе".

17.03.2021    4096    Yashazz    37    

Чтение метаданных 1С в SQL Server

Структура метаданных v8 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    3808    zhichkin    63    

Метаданные и их идентификаторы

Структура метаданных БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Идентификаторы (GUID'ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020    11720    YPermitin    27    

Централизованное управление НСИ при внутрикорпоративном внедрении Фреш

Обмен данными 1С Облачные сервисы, хостинг Конфигурирование 1С v8 ЗКГУ3.0 Государственные, бюджетные структуры Россия Бесплатно (free)

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

19.11.2020    1551    zivan38    0    

Хранилище версий объектов в условиях массовых изменений

Чистка базы Конфигурирование 1С v8 1cv8.cf Бесплатно (free)

Проблема хранения версий объектов при огромном количестве изменений.

08.11.2020    1224    Punisher_1C    4    

Альтернативный способ записи в регистры

Конфигурирование 1С v8 Бесплатно (free)

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

20.10.2020    2793    DarkAn    30    

Учимся создавать http сервис (часть четвертая). Изучение метода POST http запроса (передача текстовых данных)

Конфигурирование 1С v8 Бесплатно (free)

Пошаговое руководство по созданию http сервисов (часть четвертая). Изучение метода POST http запроса.

11.10.2020    13187    hpi    25    

Несколько групп для одной номенклатуры в УТ 11

Механизмы оперативного учета Учет ТМЦ v8 v8::ОУ УТ11 Россия УУ Бесплатно (free)

В статье опишу вариант доработки УТ 11 для использования нескольких групп для одной номенклатуры.

23.09.2020    1741    malikov_pro    11    

Регистры бухгалтерии. Виртуальная таблица остатков

Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Бесплатно (free)

Принцип работы виртуальной таблицы остатков. А также некоторые особенности.

24.08.2020    11274    YPermitin    1    

Регистры бухгалтерии. Еще одна таблица оборотов ДТ / КТ

Механизмы бухгалтерского учета v8::БУ 1cv8.cf Бесплатно (free)

Виртуальная таблица оборотов ДТ / КТ регистра бухгалтерии. Особенности и применение.

12.08.2020    6340    YPermitin    1    

Динамический список, ключи записей. Нюансы

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

Заметки об особенностях динамических списков с произвольным запросом и видом ключа, отличным от "Авто"

07.08.2020    4823    Yashazz    6    

Регистры бухгалтерии. Виртуальная таблица оборотов

Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Бесплатно (free)

Виртуальная таблица оборотов регистра бухгалтерии. Принцип работы, особенности и кое-что еще.

28.07.2020    9034    YPermitin    10    

Установка расширений в 1С 8.3

Расширения v8 1cv8.cf Россия Бесплатно (free)

Краткая инструкция, как подключить расширение конфигурации в 1С.

27.07.2020    18730    Mouros    11    

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

Производительность и оптимизация (HighLoad) Администрирование СУБД Технологический журнал Структура метаданных v8::Запросы Бесплатно (free)

Обычно предметом оптимизации являются заранее определенные ключевые операции, т.е. действия, время выполнения которых значимо для пользователей. Причиной недостаточно быстрого выполнения ключевых операций может быть неоптимальный код, неоптимальные запросы либо же проблемы параллельности. Если выясняется, что основная доля времени выполнения ключевой операции приходится на запросы, то осуществляется оптимизация этих запросов. При высоких нагрузках на сервер СУБД в оптимизации нуждаются и те запросы, которые потребляют наибольшие ресурсы. Такие запросы не обязательно связаны с ключевыми операциями и заранее неизвестны. Но их также легко выявить и определить контекст их выполнения, чтобы оптимизировать стандартными методами.

24.05.2020    11157    DataReducer    22    

Как обойти глюк механизма расширений. Пошаговая инструкция в картинках

Расширения v8 БП3.0 Бесплатно (free)

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

26.04.2020    11780    alfanika    21    

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

Конфигурирование 1С v8 Бесплатно (free)

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

03.04.2020    1848    gtrr34    1    

Вложенные СКД

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

Возможности, нюансы, заметки.

26.03.2020    9327    Yashazz    19    

Конвертация расширения cfe в конфигурацию сf руками

Расширения v8 1cv8.cf Бесплатно (free)

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

18.03.2020    10440    wtlz    35    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    9169    RPGrigorev    3    

Регистры бухгалтерии. Настройки, субконто и движения с субконто

Бухгалтерский учет Механизмы бухгалтерского учета v8::БУ Бесплатно (free)

Описание основных настроек регистров бухгалтерии, работы виртуальных таблиц "Субконто" и "Движения с субконто" и кое-что еще.

10.02.2020    23626    YPermitin    13    

Эволюция расширения конфигурации

Расширения v8 1cv8.cf Бесплатно (free)

С каждым днем всё больше возможностей появляется в расширении конфигурации, но не все до сих пор работают даже на платформе 8.3.6! Давайте окунемся в историю появления и эволюции расширения конфигурации, чтобы знать и понимать, когда можно применить тот или иной функционал!

06.02.2020    14952    Xershi    45    

Доработки объектов метаданных и форм (только кодом) с помощью расширений на примере типовых конфигураций: 1C:ERP Управление предприятием 2.4 и 1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП 6

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

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

01.02.2020    2850    байт    7    

Обновление релиза измененной типовой конфигурации

Конфигурирование 1С v8 1cv8.cf Бесплатно (free)

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

29.11.2019    15151    John_d    76    

Обработка расширением на клиенте

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

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

31.10.2019    7863    EvgenURNN    10    

Об общих реквизитах

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

Общие реквизиты. Что за ними скрывается?

28.10.2019    18503    YPermitin    31    

Реализация продвинутой обработки запросов HTTP сервиса

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

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

05.10.2019    3960    malikov_pro    4    

От чего можно отказаться при разработке расширений 1С

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

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    11601    independ    33    

Конструирование аналитической структуры плана счетов в программе «1С:Бухгалтерия 8» с целью обеспечения достоверности финансовой отчетности

Дебиторская и кредиторская задолженность Оборотно-сальдовая ведомость, Анализ счета Учет доходов и расходов Оборотно-сальдовая ведомость, Анализ счета Учет доходов и расходов Механизмы бухгалтерского учета Бухгалтерский учет v8 v8::БУ КА1 БП2.0 УПП1 Россия БУ УУ Бесплатно (free)

Описаны правила конструирования аналитической структуры плана счетов, позволяющей формировать достоверную финансовую отчётность. Описываются принципы формирования баланса и отчета о прибылях и убытках в МСФО и в РСБУ. Даётся определение развёрнутого сальдо и рассматривается его корректное отражение в ОСВ. Делается анализ минимально необходимого количества уровней субконто по счетам расчётов. Подробно рассматриваются ошибки плана счетов «Хозрасчётный» и ОСВ стандартной поставки 1С, препятствующие выверке баланса и отчета о прибылях и убытках по ОСВ. Предлагаются методы купирования проблем.

24.10.2010    174237    RayCon    106