Доработка проведения в ERP 2.5 (регистр бухгалтерии Хозрасчетный)

Публикация № 1427044 20.05.21

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

Покажу точки входа для доработки "типового" проведения документов в ERP для регистра бухгалтерии Хозрасчетный. Расскажу про "неочевидное" поведение системы. Пример реализован на 1С:ERP Управление предприятием 2 (2.5.5.117).

Хочу начать статью словами моего хорошего коллеги, который работал только в программах Бухгалтерия предприятия (2.0 и 3.0) и который в первый раз зашел на проект с ERP: "В смысле проводки сразу не формируются? А как тогда тут работать?".

 
 Аббревиатуры и терминология

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

Давайте разберемся как устроен этот механизм и где искать точки входа для доработок.

1. Признак для документа для отражения проводок.

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

При первом проведении документа в его движения попадает запись РС со статусом "К отражению". РБ в этот момент еще пуст.

 
 Скриншот для документа Приобретение товаров и услуг

После отражения документа в регл. учете статус РС меняется на "Отражен". В РБ появляются проводки.

 
 Скриншот для документа Приобретение товаров и услуг

При любом перепроведении документа, статус в РС возвращается к "К отражению". РБ снова становится пуст.

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

2. Где описывать запрос для проводок.

Теперь давайте разбираться, как документ понимает, какие именно проводки он должен формировать. Посмотрим на примере документов "Приобретения товаров и услуг" и "Реализация товаров и услуг":

В модуле менеджера документа обязательно* должны быть описаны две экспортные функции ТекстЗапросаВТОтраженияВРеглУчете и ТекстОтраженияВРеглУчете, которые возвращают тексты запросов.
(* разработчики предусмотрели исключительные ситуации хранения этих процедур НЕ в модуле менеджера. Такие исключения описаны в функции
РеглУчетВыборкиСерверПовтИсп.ДокументыИОбщиеМодулиОписывающиеОтражениеВРеглУчете)

 
 Модуль менеджера документа Приобретение товаров и услуг

Отражение проводок в РБ - это особенность учета РФ, поэтому тексты запросов вынесли в модули для локализации (почитать про локализацию).

 
 Общий модуль ПриобретениеТоваровУслугЛокализация (осторожно, много текста!)

Обратите внимание, что для документа ПТУ не требуется предварительно готовить временные таблицы, и в результате функция ТекстЗапросаВТОтраженияВРеглУчете возвращает пустую строку. Но описывать эту функцию все равно требуется, иначе программа выдаст исключение (см. функцию РеглУчетВыборкиСерверПовтИсп.ТекстВТОтраженияДокумента).

А вот документу РТУ для формирования проводок предварительно требуется получить данные о расчетах с клиентами:

 
 Общий модуль РеализацияТоваровУслугЛокализация

3. Неочевидный "багаж" при отражении проводок

Помимо того текста запроса, что мы рассмотрели в п. 2, к нему добавляются еще дополнительные временные таблицы и дополнительные проводки. Добавление происходит в функции РеглУчетВыборкиСерверПовтИсп.ЗапросДанных, и уже там формируется финальный текст запроса. (Почти финальный: в РеглУчетПроведениеСервер.ВыборкиОтраженияДокументов будет еще череда запросов в базу данных).

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

Состав финального запроса может меняться в зависимости от:
  - Это объект расчетов (ОР) - РеглУчетВыборкиСерверПовтИсп.ЭтоОбъектРасчетов(ДокументИмя)
  - Это расчетный документ (РД) - РеглУчетВыборкиСерверПовтИсп.ЭтоРасчетныйДокумент(ДокументИмя)
  - Это Регистратор расчетов (РР) - отдельное условие для документа "Регистратор расчетов"
  - Остальные документы (ОД) - остальные документы

Имя дополнения Где искать
(все функции расположены в общем модуле РеглУчетВыборкиСерверПовтИсп)
ОР РД РР ОД
Временная таблица 
ВтСтроки
ТекстСебестоимость + + - +
Временная таблица 
ВтСтоимости
ТекстСебестоимость + + - +
Временная таблица 
РасчетыСКлиентамиНоваяАрхитектура
ТекстРасчетовПоНовойАрхитектуре - + - -
Временная таблица 
РасчетыСПоставщикамиНоваяАрхитектура
ТекстРасчетовПоНовойАрхитектуре - + - -
Временная таблица 
ВТРасчетыСКлиентами
ТекстВТРасчетов - + - -
Временная таблица 
ВТРасчетыСПоставщиками
ТекстВТРасчетов - + - -
Временная таблица 
ВТРасчетыСКлиентамиПоДокументам
ТекстВТРасчетовПоДокументам + - - -
Временная таблица 
ВТРасчетыСПоставщикамиПоДокументам
ТекстВТРасчетовПоДокументам + - - -
Временная таблица 
ВТРасчетыСПоставщикамиПоДокументам
ТекстВТВводСобственныхСредств + + + +
Временная таблица 
УчетнаяПолитикаОрганизаций
ТекстУчетнаяПолитика + + + +
Временная таблица 
КурсыВалют
ТекстКурсыВалют + + + +
Временная таблица 
Данные (фиктивная)
ТекстИнициализации + + + +
Проводки
Дт <62.2> :: Кт <62.1, 76>
Дт <60.1, 76> :: Кт <60.2>
ТекстЗачетАвансов + - - -
Проводки
Дт 10, 20, 41 :: Кт 10.ДР, 41.ДР, 19.03, 19.11
Дт 90.02 :: Кт 10, 20, 41
Дт 10, 20, 41 :: Кт 10, 20, 41
Дт <44> :: Кт 10, 20, 41
Дт 10, 20, 41 :: Кт 91.01
ТекстРаспределениеРасходов + + - +
Проводки
Дт 91 :: Кт 20, 44
ТекстСписаниеРасходовУОрганизацииИсточника + + - +
Проводки
Дт 20, 44 :: Кт 91
ТекстРегистрацияРасходовУОрганизации...
...Получателя
+ + - +
Проводки
Дт <25, 26, 44> - Кт <19.3, 19.4>
ТекстНДСПоДаннымФинпартий + + - +
Проводки
Дт <19.Х> - Кт <19.Х>
Дт <19.7> - Кт <19.Х>
Дт <68.02, 68.52> - Кт <19.Х>
Дт <19.Х> - Кт <68.02, 68.52>
Дт <91.02> - Кт <19.Х>
ТекстНДСПоНДСПредъявленный + + - +

И напоследок хочу сказать спасибо разработчикам ERP за лайфхак поиска интересующих проводок: во всей конфигурации, перед описанием текста запроса очередной проводки, есть описание корреспонденции счетов этой проводки, например:

#Область ПриемНаКомиссию // (Дт 004.01 :: Кт )
...
|ВЫБРАТЬ // Фактуровка поставки (Дт 60.НП :: Кт 60, 76)
...
|ВЫБРАТЬ //// Получение услуг (Дт 2Х, 44, 91 :: Кт 60, 71, 76)
...
"ВЫБРАТЬ // Изменение вида деятельности НДС (Дт <19.Х> - Кт <19.Х>) @НДСпредъявленный
...
|ВЫБРАТЬ // Вычет НДС (Дт <68.02, 68.52> - Кт <19.Х>) @НДСпредъявленный
...

 Либо смотрите "Содержание" проводки в режиме предприятия: они также описаны в запросах

|	""Прием товаров на комиссию"" КАК Содержание

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. insurgut 195 20.05.21 13:30 Сейчас в теме
Не нашел ответа на вопрос "как сделать так, чтобы проводки по бухгалтерскому учету формировались сразу". Плохо смотрел?
2. BuriyLesha 412 20.05.21 13:47 Сейчас в теме
(1) никак. такая особенность ЕРП
для отражения проводок строится огромный запрос в ИБ и, видимо для ускорения проведения документа, их вынесли в отдельное регламентное задание.
3. insurgut 195 20.05.21 14:08 Сейчас в теме
(2) видимо не правильно понял посыл статьи. Начался он с вопроса "В смысле проводки сразу не формируются? А как тогда тут работать?", думал на него и будет дан ответ :)
Вообще в тему не погружался (в код имеется ввиду), просто у бухгалтерии это до сих пор вызывает недоумение, и даже настроенный регламент на каждые 5 минут их устраивает постольку поскольку. С точки зрения разработчиков конечно правильнее было бы дать выбор пользователю - отражать проводки сразу (медленнее), либо отдельным регламентным заданием.
5. BuriyLesha 412 21.05.21 04:49 Сейчас в теме
(3)да, думаю в конце статьи надо добавить ответ "проводок сразу не будет *заставка из ералаша*" :)
rovenko.n; +1 Ответить
7. hiduk 106 21.05.21 11:27 Сейчас в теме
(2) Если формирование проводок "вынесли в отдельное регламентное задание" - то можно настроить расписание раз в секунду - и будет счастье.
8. BuriyLesha 412 21.05.21 11:54 Сейчас в теме
(7)поберегите вашу СУБД :) за секунду не успеет регламентное задание выполниться
zhuntovda; +1 Ответить
19. hiduk 106 21.05.21 14:26 Сейчас в теме
Сообщение было скрыто модератором.
...
4. insurgut 195 20.05.21 14:29 Сейчас в теме
Хмм... заглянул в код, оказалось достаточно просто. Через расширение, например, добавляем форму той же реализации товаров, в форме после записи на сервере добавляем код:
	Если ТекущийОбъект.Проведен Тогда
		МассивДокументов = Новый Массив;
		МассивДокументов.Добавить(ТекущийОбъект.Ссылка);
		РеглУчетПроведениеСервер.ОтразитьДокументыВРеглУчете(МассивДокументов);
	КонецЕсли;


Как результат - проводки есть сразу после проведения документа. Конечно же это просто пример, так сказать "на коленке". Правильнее в модуле документа, а ещё правильнее найти общую точку входа для всех документов, чтобы не дорабатывать каждый документ отдельно.
6. BuriyLesha 412 21.05.21 04:51 Сейчас в теме
(4)только готовьтесь сразу, что помогая бухгалтерам, Вы получите волну негатива от остальных пользователей мол "как все долго, невозможно работать"
zhuntovda; andrey_sag; user1056598; +3 Ответить
9. dhurricane 21.05.21 12:17 Сейчас в теме
(6) Есть и другой негативный эффект, с которым мне приходилось сталкиваться ранее (может сейчас все иначе).

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

(4) Общей точкой для Вашего примера может быть метод:
МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере();
BuriyLesha; insurgut; +2 Ответить
10. insurgut 195 21.05.21 12:50 Сейчас в теме
(9) ну в принципе я именно поэтому пример не приводил в блоке обработке проведения. Вообще пример чисто из интереса. Можно? Оказалось, что можно. А дальше конечно нужно уже тестировать все, т.к. возможны нюансы, касаемые не только производительности.
P.S. Благодарю за подсказку общей точки входа!
11. BuriyLesha 412 21.05.21 12:52 Сейчас в теме
(9)специально проверил, сейчас отражение тоже в попытке. так что в процедуру проведения явно не стоит помещать
22. Nefilimus 55 21.05.21 19:36 Сейчас в теме
(6)
   Если ТекущийОбъект.Проведен Тогда
        МассивДокументов = Новый Массив;
        МассивДокументов.Добавить(ТекущийОбъект.Ссылка);
        РеглУчетПроведениеСервер.ОтразитьДокументыВРеглУчете(МассивДокументов);
    КонецЕсли;
Можно написать фоновым исполнением при проведении (как писать исполненение кода фоном, я думаю не надо объяснять людям, которые работают с ерп2). Все счастливы и довольны. Документ для пользователя сразу провёлся, а фоном формируется проводка. Но не забываем выносить данный код в попытку и исключение, желательно иметь регистр сведений, чтобы в случае исключения записывалось туда.
BuriyLesha; +1 Ответить
23. BuriyLesha 412 22.05.21 07:40 Сейчас в теме
(22)такой РС уже есть, я о нем в п.1 писал
Но тогда следует убедиться, что все счета учёта в программе уже заполнены
Nefilimus; +1 Ответить
24. Nefilimus 55 22.05.21 07:54 Сейчас в теме
12. dhurricane 21.05.21 13:17 Сейчас в теме
(4) И вот еще одно препятствие, на которое косвенно указывает статья. Для многих документов при отражении проводок используются общие временные таблицы, такие например как ВтСтоимости. Эта таблица собирается по данным регистра накопления "СебестоимостьТоваров". Окончательный расчет себестоимости производится в конце месяца, при закрытии. Т.о. сразу после проведения документа мы сможем получить проводки лишь по данным расчета предварительной себестоимости.
Это не проблема, а лишь нюанс, о котором стоит помнить: проводки при закрытии могут еще поменяться.
13. BuriyLesha 412 21.05.21 13:23 Сейчас в теме
(12)ну, такая проблема и в БП возникнуть может. так или иначе, при закрытии месяца, сперва закрываются все оперативные регистры, а потом идет формирование проводок
20. dhurricane 21.05.21 14:35 Сейчас в теме
(13) Наверное. Я просто никогда не работал с БП. :-)
14. user1140274 21.05.21 13:50 Сейчас в теме
Коллеги, а где можно посмотреть как делается доработка проведения по регламентному учету в 2.4?
15. BuriyLesha 412 21.05.21 13:56 Сейчас в теме
(14)смотрю релиз 2.4.11.93. вроде все основные экспортные процедуры/функции на месте. так что пробуйте искать согласно статье. если будут несоответствия - пишите
16. user1140274 21.05.21 13:58 Сейчас в теме
17. starik-2005 2349 21.05.21 13:59 Сейчас в теме
Мне кажется, что многие товарищи не понимают, что проводки при нормальном процессе работы бухгалтеру вот прям сразу не нужны. Да, когда бухгалтер методом проб и ошибок что-то там в системе задними числами кромсает, то он хочет результат вот прям щаз. И это его погубит однажды.

Суть документа - отразить событие в учетной системе. Отразить его так, как оно произошло в реальном мире. При этом проверить, а можно ли вообще это отразить (отрицательные остатки, дебиторская задолженность, превышение лимитов отгрузки, ..). А все эти отражения в хозяйственной деятельности на плане счетов - это нужно для того, чтобы сдать регуляторную отчетность раз в месяц/квартал. А управленческая отчетность - она и на оперативных регистрах вполне себе собираема.
user618912_redgad; BuriyLesha; +2 Ответить
18. BuriyLesha 412 21.05.21 14:03 Сейчас в теме
(17)полностью согласен! зачастую с бухгалтерами можно договориться, чтобы регламентное формирование проводок происходило в ночное время и им этого будет достаточно для анализа за вчерашний день
21. user618912_redgad 12 21.05.21 14:46 Сейчас в теме
(17) Поддерживаю, на практике даже самые упертые бухгалтера уже спустя месяц работы понимали преимущества этой схемы.
rovenko.n; +1 Ответить
25. mikl79 114 24.05.21 14:47 Сейчас в теме
(17), вообще надо разделять кому-то подходит, а кому-то не подходит ERP
я работая 15 лет программистом в своей практике встречал только предприятия, для которых все строится на проводках, т.е. проводки первичны, а все остальное крутится вокруг них и бухгалтера привыкли смотреть сразу проводки - правильно ли провелось
соответственно ERP никак не подойдет.
Все таки перевели на ERP одну фирму - сейчас бухгалтерия мучается - мне пришлось сделать кучу доработок, чтобы хоть как-то облегчить им жизнь.
В результате ушли на бухгалтерию.
Очень печальный опыт - когда выбросили кучу времени и денег - а получили кучу проблем.
Так что при переходе будьте очень внимательны - нужна ли вам ERP.
Мой совет - если можно обойтись без неё - заходите на Бухгалтерию предприятия.
26. starik-2005 2349 24.05.21 16:08 Сейчас в теме
(25)
Очень печальный опыт - когда выбросили кучу времени и денег - а получили кучу проблем.
Народ просто повелся на планирование, бюджетирование, казначейство и прочие крутые слова, но не знает, что с ними делать в итоге. ЕРП - штука хорошая, но нужно менять процессы и увольнять бухгалтеров, вместо которых нанимать консультантов и методологов. В итоге должен остаться финдиректор, расчетчик зряплаты и бухгалтер на клиент-банке, ЭДО и регламентированной отчетности. Все. В противном случае, когда процессов нет, бухгалтер будет задрачивать до белого каленья ОСВ, исправляя одну за другой собственные же ошибки, которые сам же и расплодил.

ЗЫ: по поводу учетной системы, то и на йокселе все отлично можно посчитать. Весь учет - это доходы и расходы, распределенные в той или иной мере на стоимость единицы продукции. Бухгалтер просто определяет, что на что будет распределяться и сворачиваться (фактически для бухгалтера это счет учета). И это не линейный бухгалтер определяет, но на его плечи ложится вся эта рутина по отражению операций так, чтобы система в итоге посчитала как надо, а система считает, как правильно (указано в настройках), а не как надо бухгалтеру. В итоге конфликты...
rovenko.n; +1 Ответить
29. BuriyLesha 412 25.05.21 05:12 Сейчас в теме
(26)да, ERP штука хорошая и сложная. Но если у вас есть хорошая команда и лишний годик (или два), то все получится :)

но нужно менять процессы

да, в подавляющем большинстве случаев без этого никуда. Но ERP не стоит на месте: те доработки, которые мы делали заказчику, Фирма 1С анонсирует в будущих релизах.

и увольнять бухгалтеров

зачем же так радикально? Просто поставьте бухгалтерам отдельную базу БП и пусть они там правят! (повторюсь, это подходит не всем, надо моделировать)
28. BuriyLesha 412 25.05.21 04:46 Сейчас в теме
(25) Вы все правильно говорите, ERP не всем подойдет. Поэтому в начале статьи я и написал, что это в первую очередь программа для оперативного учета. Бухгалтера на предприятии важны, но не они должны руководить процессами, а управленцы.
А если бухгалтерия хочет все сразу с проводками видеть, то удобно будет регламентированный учет вынести в БП и настроить синхронизацию (но тут могут быть свои нюансы, все надо моделировать)
33. mikl79 114 28.05.21 07:27 Сейчас в теме
(28), это понятно, что сделали ставку на оперативный учет.
Но зачем же было отделять бух.чет - я не понимаю
Прекрасно всегда все проводилось сразу и проводки и по регистрам, в той же УПП 1.3
Тут же нагородили и создали кучу проблем
35. BuriyLesha 412 28.05.21 07:56 Сейчас в теме
(33)Регистр бухгалтерии сам по себе более "тяжелый" для проведения чем Регистр накопления или Регистр сведений. Плюс, для подготовки данных для записи в РБ, формируется довольно существенный запрос. Как результат, время проведения документа увеличивается существенно. А теперь посмотрим на процесс не 1% пользователей, которыми является бухгалтерия, а именно операционистами и менеджерами: им знать проводки "здесь и сейчас" абсолютно не требуется, а вот уменьшение времени проведения - полезно.
Поэтому, я так предполагаю, формирование вынесено в отдельный фоновой процесс, который можно запускать по расписанию (например, каждые 4 часа).
34. mikl79 114 28.05.21 07:35 Сейчас в теме
(28), вот эта схема - просто жесть.
Покупать "супер" программу, какой судя по названию она должна быть и вести бух.учет в другой программе, создавая на ровном месте лишние проблемы с обменом.
Как ни крути обмен - это лишний головняк, за ним нужно следить, обслуживать и т.д.
хорошая программа - это ЕДИНАЯ учетная система!
Возможно, что ERP вообще мало кому подходит (единицам) - у меня нет опыта больших проектов внедрения ERP на крупных предприятиях.
36. BuriyLesha 412 28.05.21 08:05 Сейчас в теме
(34)согласен, каждый обмен данными между базами - это "лишний головняк". Поэтому, если управленческий и регламентированный учеты совпадают, то лучше вести все в одной базе (по моему личному опыту).

Возможно, что ERP вообще мало кому подходит (единицам)

а вот здесь не соглашусь. Тут проблема скорее в том, что ERP долго и трудоемко внедрять, и не все компании финансово могут себе это позволить.
27. rpgshnik 2590 25.05.21 04:06 Сейчас в теме
Благодарен, прошлая статья ваша очень понравилась и эта явно будет не лишней.
30. Droonimus 25.05.21 13:27 Сейчас в теме
А как решается вопрос с расхождением между упр и регл учетом в ЕРП? Ну допустим конец месяца, сырьё приехало, запускаем в производство немедленно, но документы приехали "попозже", недельки через 3 (нету ЭДО). Закрытие месяца сформирует проводки по Приобретению товаров и услуг, несмотря на то, что у бухгалтерии нет на отражение этой операции оснований? Ну то есть по оперативному контуру движения же будут, соответственно и проводки захотят сформироваться на основании этих данных. С ЕРП пока не работал, принцип отражения в регл. учете очень интересный и полезный, но как всегда есть вопросы, типа "а если вдруг вот такая ситуация".
31. BuriyLesha 412 25.05.21 13:54 Сейчас в теме
(30)для таких ситуаций в ERP есть свои механизмы

В этой статье на ИТС подробно описан механизм работы в таких ситуациях. Там же описаны отражаемые проводки.
Droonimus; +1 Ответить
32. Droonimus 27.05.21 07:45 Сейчас в теме
(31) Благодарю, познавательно!
Оставьте свое сообщение

См. также

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

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

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

27.01.2016    82751    Serginio    113    

Полезные примеры СКД, ч.2

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

Еще несколько примеров решения задач в СКД.

06.04.2021    7659    Neti    8    

Неочевидные нюансы записи управляемой формы

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

Разберем несколько нюансов записи управляемой формы.

02.04.2021    8701    SeiOkami    52    

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

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

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

25.03.2021    27910    rayastar    49    

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

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

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

16.03.2021    5326    velemir    31    

Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)

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

Покажу точки входа для доработки "типового" проведения документов в ERP для регистров оперативного учета. Рассмотрим три основные ситуации: нужно изменить имеющееся проведение документа; нужно сделать записи в существующие регистры; нужно с нуля описать алгоритм проведения в добавленный регистр. Пример реализован на 1С:ERP Управление предприятием 2 (2.5.4.120)

10.01.2021    8701    BuriyLesha    9    

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

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

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

28.12.2020    7065    comol    31    

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

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

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

30.08.2020    16746    quazare    34    

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

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

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

10.12.2016    39773    unichkin    74    

Форма выбора (подбор) в управляемых формах

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

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    58756    user5300    18    

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

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

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

27.01.2020    54429    ids79    26    

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

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

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

15.10.2018    34414    tormozit    106    

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

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

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

15.01.2020    38096    John_d    22    

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

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

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

30.12.2019    30156    kuzyara    38    

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

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

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

02.12.2019    21698    YPermitin    62    

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

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

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

20.09.2012    81328    tormozit    131    

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

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

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

22.11.2019    11273    Sibars    19    

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

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

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

07.10.2019    36956    HostHost    41    

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

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

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

01.10.2019    48164    Yashazz    55    

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

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

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

11.07.2007    52494    tormozit    51    

О программе Postman для тестирования API и для чего она нужна 1С-нику

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

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    17916    budidich    29    

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

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

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

06.09.2019    86663    rpgshnik    71    

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

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

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

05.09.2019    69312    ids79    55    

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

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

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

10.09.2017    49103    tormozit    74    

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

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

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

05.09.2019    40933    YPermitin    25    

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

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

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

03.09.2019    28907    YPermitin    81    

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

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

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

17.08.2019    41708    ids79    19    

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

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

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

25.04.2019    17072    m-rv    3    

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

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

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

08.08.2019    132932    ids79    75    

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

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

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

02.08.2019    53927    avalakh    26    

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

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

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

31.07.2019    36506    json    15    

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

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

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

16.04.2019    22130    m-rv    17    

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

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

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

26.07.2019    93835    ids79    15    

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

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

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

17.07.2019    44622    ids79    27    

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

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

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

09.07.2019    31656    YPermitin    14    

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

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

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

01.06.2018    34909    m-rv    22    

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

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

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

04.07.2019    21487    SeiOkami    52    

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

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

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

02.07.2019    74196    ids79    17    

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

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

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

25.06.2019    69758    ids79    27    

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

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

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

05.12.2017    29959    itriot11    34    

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

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

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

11.06.2019    29263    dmurk    148    

Регистры накопления. Виртуальные таблицы. Часть №2: "Остатки" и "Остатки и обороты"

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

Описание работы платформы 1С:Предприятие 8.2 с виртуальными таблицами регистров накопления "Остатки" и "Остатки и обороты". Анализ SQL-запрос при работе с виртуальными таблицами

22.05.2019    39018    YPermitin    8    

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

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

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

16.05.2019    57729    YPermitin    30    

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

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

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

10.11.2018    41848    ids79    45    

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

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

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

07.04.2019    40857    ellavs    131    

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

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

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

28.03.2019    30564    ellavs    90    

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

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

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

14.03.2019    38481    YPermitin    53    

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

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

В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.

01.03.2019    59780    Смешной 1С    32