Домой Хоум Кредит Банк Момент времени и граница, назначение, примеры использования.

Момент времени и граница, назначение, примеры использования.

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

Я, как бизнес-консультант, достаточно часто сталкиваюсь с вопросами о том, что такое 1С, какая структура может быть у этого программного продукта, и вообще – каким образом вся эта система работает.Их задают обычно веб-разработчики, которые вынуждены заниматься вопросами интеграции сайта и 1С, программисты, специализирующиеся на мобильных приложениях и другие специалисты, которым по роду работы с программами 1С приходится сталкиваться нечасто.

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

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

С другой стороны, я все дальше и дальше ухожу от постоянной работы с продуктами 1С. Если на заре моей карьеры работа с программами 1С приносила мне 100% дохода, то сегодня внедрение каких-то 1С решений занимает в моей работе не более 20%, все остальное – это сайты, это CRM-системы и т.д.

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

Еще немного об 1С и о том, зачем я это все пишу
Я и сам знаю, что собрался, как говорится, объять необъятное. А потому – еще одно предупреждение:
  1. Я планирую создать целую серию статей об 1С, где расскажу об этом программном продукте с разных точек зрения. Эта статья предназначена, прежде всего, для программистов. А потому я размещаю ее на Хабре. Следующие будут охватывать более широкий спектр понятий, интересных в том числе, бизнесменам и пользователям программных продуктов 1С, а потому они будут размещены на Мегамозге.
  2. Я не буду углубляться в нюансы применения кода, в другие технические подробности, которые каждый из вас может самостоятельно прочитать на официальном сайте 1С, на сайтах поддержки, на известных форумах и пр.
  3. Я не буду обсуждать нюансы работы той или иной версии платформы. Более того, чаще всего я буду говорить о платформе 8.3 как о последней актуальной на момент написания статьи, а также о типовых конфигурациях, которые наиболее востребованы у моих клиентов (средний и малый бизнес).
При этом я хочу не просто помочь веб-программисту или другому специалисту понять, где искать нужный фрагмент кода, я хочу помочь разобраться с тем, что это такое – 1С.
Сегодня компания 1С своими силами внесла такое количество путаницы в описания продуктов, в требования к уровню специалистов, которые будут настраивать систему, в выбор платформы, конфигурации, плагинов, надстроек, версий и прочее, прочее, что система 1С лично мне начинает напоминать старый сериал «Спрут». Если кто-то еще помнит, то в этом фильме комиссар боролся с преступной группировкой, часть которой являлась банковская группа. И эта банковская система была настолько запутанной, что понять, откуда берутся деньги, куда они уходят, каким образом работает то или иное подразделение и главное зачем, было очень трудно.

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

Я же попытаюсь распутать «щупальца Спрута» и структурирую общее понимание того, каким образом работает система 1С.

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

А если вам нужны какие-то конкретные технические нюансы работы 1С, то вы всегда можете воспользоваться следующими ресурсами:

  1. Сайт 1С и партнерский форум. http://www.1c.ru
  2. Другие ресурсы
В подавляющем большинстве случаев ответы на ваши вопросы найдутся на одном из этих ресурсов. Есть еще много форумов и прочего, но большая часть решений – именно там.

1С как экосистема

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

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

В статье я уже рассказывал, что на самом деле 1С нужно воспринимать как целую экосистему. Именно такой подход поможет понять, что такое 1С и зачем она нужна.

Итак, с точки зрения технической экосистемы 1С состоит из следующих компонентов:

  1. Платформа 1С – это та основа, на которой пишутся конфигурации, с которой работают программисты и пр. Она обновляется от версии к версии, а потому может быть: 6.0, 7.7, 8.0, 8.2 или 8.3.
  2. Конфигурация. Это следующий уровень конкретизации. Конфигурации пишутся на платформе с использованием кода 1С. Пользователи работают с конфигурациями.
  3. 1С Битрикс. Система для работы с сайтами, о ней поговорить стоит отдельно.
Еще один разрез, в котором можно структурировать работу 1С, - это организационный уровень. И здесь есть 2 части, которые также друг без друга не работают:
  1. Сама компания 1С и ее штат специалистов.
  2. Партнеры 1С (франчайзинг) и специалисты, занимающиеся обслуживанием системы. Их также стоит вныделить в качестве одной из составляющих эко-системы. Без специалистов, которые дорабатывают и внедряют 1С, система работать не будет. Это могут быть компании-партнеры 1С или одиночки-фрилансеры, не важно, они просто должны быть, иначе система не будет жизнеспособной.
Далее я предлагаю подробнее рассмотреть части эко-системы 1С.

Платформа

Платформа – это та самая основа, на которой 1С программисты, используя язык программирования 1С, пишут готовые программы (конфигурации) для пользователей. Именно платформа является той основой, без которой не будет работать ни один компонент, ни одна конфигурация. Одновременно сама платформа без конфигурации может заинтересовать исключительно 1С программиста, для всех остальных (пользователей, различных специалистов) она бесполезна.
Работать можно на разных версиях платформы. Я знаю, что на практике встречается применение версии 8.2 и 8.0, а также достаточно старой, но все еще популярной 7.7, иногда встречается даже использование первого удачного релиза 6.0. Но я буду говорить исключительно о версии 8.3, как о самой последней на момент написания статьи. Многие вещи, которые мы обсудим, одинаково актуальны и для прошлых версий. Но часть была добавлена только в последних релизах. Хотелось бы, чтобы читатели учитывали этот факт.

Важно понимать, что пользователям чаще всего не требуется весь спектр возможностей, которые дает 1С. Особенно актуально это утверждение для малого и среднего бизнеса. А вот качество и надежность работы для пользователей крайне актуальны. И в этом отношении с программными продуктами 1С, к сожалению, возникает достаточно много проблем.
Программисты при работе с 1С используют специальный язык программирования, который был создан разработчиками 1С для работы с платформой 1С. Сегодня он доступен на русском и английском языках, но изначально был написан на русском, а потому типовые конфигурации также пишутся традиционно на русском языке, хотя всегда есть возможность применить в нужном месте также и английские версии операторов, если программисту так удобнее работать. Язык этот представляет смесь бейсика и C+ с добавлением SQL для написания запросов. Кроме того, в нем предусмотрена возможность использования различных конструкторов и плагинов.

Одна из особенностей платформы 1С – это отсутствие модульности. Платформа – это нечто целое, здесь невозможно четко указать, что какой фрагмент кода (модуль) за какие возможности отвечает. Конечно, при установке вы можете указать, какие компоненты нужно установить, а какие – нет. Но эта возможность присутствует только в момент установки, и, на самом деле, предлагает совсем небольшое число вариантов.

Еще одна ремарка, которая поможет, надеюсь, избежать флейма и споров:

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

При этом я также понимаю, что при большом желании и достаточном уровне знаний программиста очень многие вопросы могут быть решены, а проблемы окажутся не актуальными. А потому, если вы используете какие-то уникальные разработки, проблемы и вопросы, которые я раскрываю, могут оказаться для вас совсем не интересными. Для всех остальных – продолжаю.
Варианты поставки платформы
При выборе платформы очень важно обратить внимание на варианты поставки решения. Первое, что вам важно, это метод организации работы с данными:
  • Файловое решение
  • Клиент-серверный вариант
В файловом решении вся рабочая информация будет храниться в одном общем файле. Не важно, какую из конфигураций вы при этом установите. В любом случае вы получите служебный файл с расширением CD (внутренний формат 1С), в котором будет храниться все: справочники, документы, регистры и т.д. Если число пользователей вашей программы не превышает 4 человек, скорей всего, вам вполне подойдет этот вариант. Тем более, что настраивать файловую систему значительно проще, здесь можно даже обойтись без помощи 1С-специалиста. Отчасти проблему скорости работы можно решить при помощи RPD (Remote Desktop Protocol - протокол удалённого рабочего стола), но только отчасти.

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

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

Клиент-серверная организация хранения данных – это организация баз данных в таблицах на сервере. Это могут быть MSSQL, Oracle или другой вариант организации баз данных.

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

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

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

Итак, существуют версии 1С:

  • для Windows,
  • для Linux.
Для Mac OS на момент написания статьи версии не разработано.

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

Предприниматели и любые представители бизнеса – люди достаточно консервативные, им важней всего – стабильная надежная работа. Чаще всего бизнесу не столь важна высокая скорость работы или огромный перечень возможностей, сколько требуется просто стабильная работа. Кроме того, Linux на сегодня не слишком востребован в отечественном бизнесе. А потому с этой версией сталкиваться приходится очень редко.

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

Что можно сказать о компонентах платформы 1С:

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

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

Пользователи также могут столкнуться с этой проблемой – ошибками и нестабильной работой программного обеспечения при работе с платформой. Есть определенный набор функций по обслуживанию 1С, которые может выполнять пользователь. Для этого имеется пользовательский интерфейс платформы. И здесь стоит вернуться к разным версиям интерфейса пользователя.

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

По этому признаку можно выбрать:

  1. Нативный 1С-клиент. Это традиционный программный интерфейс, когда к 1С идет обращение из 1С.
  2. Работу через браузер.
  3. Работу через мобильное приложение.
Каждый из вариантов имеет некоторые ограничения, подробнее о них вы можете почитать на официальном сайте 1С.
Нативный клиент
Нативный клиент также делится на серию подклиентов, что вносит в вопрос выбора программного обеспечения дополнительный хаос. Здесь самое главное – это выбрать «толстый» или «тонкий» вариант клиента. На первый взгляд, выбор здесь не критичный, особенно для программиста. На самом деле, при работе с конфигурацией через интерфейс могут возникать проблемы из-за ошибок выбора.

В чем разница между этими подклиентами?

«Толстому» требуется широкий (толстый) канал связи, «тонкому» хватает минимума. Подавляющее большинство моих заказчиков пользуются «толстым» клиентом, так как локальные или интернет-каналы сейчас у всех хорошие, проблем с их «шириной» не возникает. С другой стороны, «тонкий» клиент имеет определенные ограничения в работе, есть вещи, которые в нем сделать невозможно.

Web-клиент (работа через браузер)
Web-клиент – это работа с программой 1С через браузер. Т.е. вы используете определенную технологию, которая позволяет через Интернет, используя удобный для вас браузер, получить доступ к базе данных. При этом интерфейс полностью обрисовывается непосредственно в браузере.

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

Мобильная версия
Этот вариант клиента от 1С появился сравнительно недавно и пока что особым спросом не пользуется. Причины такого отношения:
  1. Клиент получился очень сложным. Для того, чтобы настроить эту программу, человек должен знать одновременно 1С и мобильные технологии, причем, достаточно глубоко на уровне кода. Понятно, что найти такого специалиста довольно сложно, что не способствует популярности программного решения.
  2. Технология еще очень «сырая» и плохо отлаженная. Я лично пробовал это решение применить для своих клиентов, общался с коллегами, которые также ознакомились с этой технологией, и на данный момент мое мнение и мнение коллег совпадает: проще и удобнее создать какое-то свое мобильное приложение, чем использовать вариант от 1С.
Мобильная версия должна сочетать в себе очень много всего, здесь требуется работа нескольких специалистов, которые будут работать вместе и помогать друг другу:
  • Настройка доступа к базе данных извне;
  • Решение вопросов безопасности;
  • Настройка сервера для работы с мобильными приложениями;
  • Настройка программных продуктов 1С;
  • Настройка web-приложений (по необходимости).
Все это необходимо для обеспечения корректной работы мобильного приложения от 1С. Понятно, что собрать такую команду специалистов сложно и дорого, а потому в малом и среднем бизнесе это решение популярностью не пользуется.
Платформа 1С: резюме
Платформа 1С – очень функциональна, в ней имеется огромный список самых разных возможностей. И это количество естественным образом переходит в сложность. В результате порог вхождения в работу с 1С для программиста очень высок. Клиенты слышат о разных возможностях 1С, просят программиста помочь в их реализации. А это значит, что специалист должен быть постоянно в курсе обновлений, понимать и знать самые разные вещи.

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

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

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

Все это вместе приводит к проблеме позиционирования:

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

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

На понятийном уровне я думаю, информации достаточно. А технические нюансы вы всегда можете найти на ресурсах 1С, которые я рекомендовал выше.

Конфигурации

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

Конфигурации бывают:

  1. Типовые – написанные компанией 1С. Они все присутствуют на сайте 1С.
  2. Нетиповые – написанные компаниями-партнерами.
На уровне пользователя эти два типа различаются следующим образом:
  1. Типовые конфигурации создает и сопровождает компания 1С. В большинстве случаев они большее качественные, в этих конфигурациях лучше организована работа с кодом, используются чаще всего оптимальные решения, оперативно исправляются ошибки. Конечно, все и постоянно слышат о «вечных багах» в типовых конфигурациях 1С, и они там действительно постоянно присутствуют, но все таки, стоит отдать должное специалистам компании. Критичные ошибки они исправляют действительно оперативно.
  2. Нетиповые конфигурации пишут компании-партнеры 1С, и здесь достаточно сложно сказать что-то определенное. Такие конфигурации бывают очень разными. Чаще всего их пишут по случаю: отраслевые (для какой-то определенной отрасли) или написанные для определенного случая (конкретной компании). И здесь необходимо понимать, что компании-партнеры 1С в большинстве своем имеют достаточно высокую текучку кадров. А потому и конфигурации в них пишутся довольно не организовано. Начинает писать один программист, продолжает – другой, завершает – третий. При это каждый из них вносит туда что-то свое, свое понимание, решения, идеи. А наработки предшественника применяет так, как удобно, а не как это было задумано.
Может быть, вы помните забавный мультфильм «Трое из Простоквашино»? Там мальчик дядя Федор писал письмо родителям, но не дописал, отвлекся, и за него дописывали по очереди друзья: кот и пес. И каждый из них рассказывал о своих проблемах. В результате родители мальчика с удивлением узнали, что у него «то лапы ломит, то хвост отваливается». Вот по такому принципу очень часто пишут нетиповые конфигурации.
Отсутствие преемственности при написании нетиповых конфигураций, а часто и достаточно подробной документации, приводят к тому, что по всем вопросам внедрения и доработок придется обращаться в компанию, которая разработала эту конфигурацию.

Нетиповые конфигурации также бывают двух видов:
  1. Написанные на основе типовых. Эти конфигурации создаются путем добавления функционала к какой-то типовой. Например, существует такой продукт, как 1С: Управление торговлей и CRM. Здесь совместили типовую конфигурацию Управление торговли и систему CRM. Интересно, что создатели конфигурации компания Рарус, называют именно Управление торговли подсистемой, хотя на самом деле – это была та основа, на которой писалась вся конфигурация.
       Плюсы таких конфигураций – они более функциональны в сравнении с типовыми, в них добавлены часто очень нужные возможности.
       Минусы – разработчики этих конфигураций часто не успевают создавать своевременно свои обновления. Таким образом, очень может быть, что компания 1С уже выложила свои варианты обновлений, а пользователю нетипового решения придется ждать какое-то время, пока разработчик создаст аналогичное обновление для конкретного решения. Кроме того, подобные доработки также бывают достаточно «сырыми», в них может быть много ошибок.
       
  2. Конфигурации, написанные с нуля. При их создании типовые конфигурации не используются вообще, решения пишутся для определенных задач.
       Плюсы : конфигурация написала точно под нужны заказчика, здесь есть все необходимое и почти ничего лишнего.
       Минусы : обычно при написании подобных решений стандарты кода не соблюдаются, дорабатывать подобные программные продукты очень сложно, чаще всего, это может сделать достаточно быстро только автор.
Если я приходил к клиентам и видел, что там стоит нетиповая конфигурация, написанная с нуля, я стараюсь либо не трогать ее вообще, либо полностью меняю на удобное и универсальное решение. Достаточно часто подобные решения на самом деле не требуются, особенно в малом и среднем бизнесе. При этом типовые продукты проще в дальнейшем обслуживании, и, как следствие, дешевле, что для бизнеса всегда важно.

Резюме

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

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

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

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

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

1.2. Дата и время документа

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

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

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

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

Таким образом, общим правилом, которого следует придерживаться при вводе документов, является расположение документов в том порядке, в котором реально происходили cобытия.

1.4. Изменение документов "задним числом"

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

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

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

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

1.5. Перепроведение документов

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

Соблюдение перечисленных правил позволяет программе, например, построить отчет о наличии товаров или любых других средств на любой момент времени. Причем, данные этого отчета будут совпадать с реальным наличием средств на тот момент времени. Кроме того, определенные механизмы учета "1С:Предприятия" основываются на текущих итогах на момент конкретного документа. Например, при проведении расходной накладной может выполняться расчет себестоимости списания "по средней" или по методу LIFO (FIFO). Разумеется, при изменении документа "задним числом" все документы, которые следуют за измененным документом, автоматически не перепроводятся. Их может быть очень много, и такая операция заняла бы продолжительное время. Однако, изменение документов "задним числом" приводит к тому, что списание, выполненное последующими документами, становится неверным. Например, если выяснилось, что в начале месяца неверно указали сумму приходной накладной, то очевидно, что все расходные накладные, по которым отпускались данные товары после этой приходной накладной, неверно рассчитали сумму списания. Для решения этой проблемы в "1С:Предприятии" существует возможность не только исправления документа "задним числом", но и перепроведения документов с целью правильного отражения в учете всех последующих хозяйственных операций. В процессе перепроведения каждый документ заново выполняет анализ итогов на тот момент, в котором он расположен в журнале, и соответственно правильно отражает данные списания в учете. Разумеется, перепроводить имеет смысл только те виды документов, которые в процессе проведения анализируют текущие итоги.

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

2. Проблема проведения последовательности при работе с УРБД

Давно уже хотел разобраться, почему бывает так что не работает стандартное проведение последовательности.
  • Было взято 3 метода: ПринадлежитПоследовательности - как метод документа;
  • ПринадлежитПоследовательности - как метод последовательнсоти;
  • Сравнить - как метод последовательности. Был проведен опыт на базе, с УРБД (ЦБ) в SQL формате.
Для опыта использовались таблицы _1SJOURN, _1SSTREAM. В Таблице журналов собственно интересовало поле "DS7536" где 7536 - десятичный код последовательности.

При попытке востановить последовательность проводятся лишь те доки, для которых поле DS7536 = 1. Т.е. для рещения проблемы восстановления последовательности - надо для всех проведенных доков и которые после ГП установить поле DS7536 = 1. А теперь собственно говоря, почему такое возникает? Т.е. почему при доступных значениях метода последовательности "ПринадлежитПоследовательности" 0 и 1 есть еще значения и 2?

Первое условие:
Все документы вводятся в переферийной ИБ, при этом в свойствах миграции последовательности стоит флаек на "Единая последовательность в центральной ИБ". Соответсвенно в переферийной ИБ (где вводятся все документы) поле DS7536 всегда равно или 0 или 2, и соответсвенно метод ПринадлежитПоследовательности всегда возвращает 0 или 2. И что интересно, при автообмене в ЦБ также передается значение поля DS7536 равным 2

Теперь вспомним что происходит при проведении последовательности стандартным методом. 1С делает не проверку через метаданные принадлежности последовательности (что правильно, так как есть еще движения, влияющие на последовательность и только по движениям/проводкам можно сказать что документ входит в последовательность или нет), а проверяет поле DS7536, которе равно 2. Ну и конечно же 2 <> 1 и восстановленеи последовательности не приводит к проведению доков, входящих в последовательность.

Подытожим.

  1. Если база распределенная и документы вводится не в ЦБ, при этом стоит флажок в окне свойств последовательности "Единая последовательность в центральной ИБ", то поле DS7536 всегда равно 0 или 2 (что в принципе правильно).
  2. Во время автообмена происходит глюк, который приводит к тому, что поле DS7536 загружается с периферийной ИБ и становится равным 2. 3. 1С во время проведения перепроводит только те документы у которых поле DS7536 = 1.
ЗЫ Возможно, что глюк не на втором этапе, а на третьем.

Как побороть?

  1. Можно восстанваливать последовательность своими методами, проверяя принадлежность документа к последовательности через метаданные (что может привести к избыточности проводимых документов, так как документ может и не делать движений(проводок) по значениям влияющих на пересчет итогов).
  2. надо установить поле DS7536 = 1, для тех случаев когда оно равно 2
Также что выяснилось в процессе исследования: - в переферийной ИБ всегда последовательность находится на последнем (по времени на оси времени, или по полю Date_time_IDDOC) проведенном документе. - каким то непонятным образом (пока непонятным) если последовательность отслеживается по бух счетам и регистрам - выборка происходит только по проводкам, т.е. движения регистров игнорируются (может я чего то недоглядел). На сегодняшний день программные продукты 1С являются неким стандартом для работы бухгалтерского, управленческого и других видов учета в малом и среднем бизнесе. Работодатели требуют от своих сотрудников обязательных навыков работы именно с этим программным продуктом. Если возникает на повестке дня вопрос интеграции интернет-магазина и систем автоматизации (остатки, цены, заявки и т.д.) – также на стороне офиса обычно оказывается база данных 1С, с которой и нужно провести интеграцию. Аналогично во многих других случаях: любой процесс автоматизации малого и среднего бизнеса традиционно начинается с продуктов 1С и продолжается с их применением.

Я, как бизнес-консультант, достаточно часто сталкиваюсь с вопросами о том, что такое 1С, какая структура может быть у этого программного продукта, и вообще – каким образом вся эта система работает.Их задают обычно веб-разработчики, которые вынуждены заниматься вопросами интеграции сайта и 1С, программисты, специализирующиеся на мобильных приложениях и другие специалисты, которым по роду работы с программами 1С приходится сталкиваться нечасто.

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

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

С другой стороны, я все дальше и дальше ухожу от постоянной работы с продуктами 1С. Если на заре моей карьеры работа с программами 1С приносила мне 100% дохода, то сегодня внедрение каких-то 1С решений занимает в моей работе не более 20%, все остальное – это сайты, это CRM-системы и т.д.

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

Еще немного об 1С и о том, зачем я это все пишу
Я и сам знаю, что собрался, как говорится, объять необъятное. А потому – еще одно предупреждение:
  1. Я планирую создать целую серию статей об 1С, где расскажу об этом программном продукте с разных точек зрения. Эта статья предназначена, прежде всего, для программистов. А потому я размещаю ее на Хабре. Следующие будут охватывать более широкий спектр понятий, интересных в том числе, бизнесменам и пользователям программных продуктов 1С, а потому они будут размещены на Мегамозге.
  2. Я не буду углубляться в нюансы применения кода, в другие технические подробности, которые каждый из вас может самостоятельно прочитать на официальном сайте 1С, на сайтах поддержки, на известных форумах и пр.
  3. Я не буду обсуждать нюансы работы той или иной версии платформы. Более того, чаще всего я буду говорить о платформе 8.3 как о последней актуальной на момент написания статьи, а также о типовых конфигурациях, которые наиболее востребованы у моих клиентов (средний и малый бизнес).
При этом я хочу не просто помочь веб-программисту или другому специалисту понять, где искать нужный фрагмент кода, я хочу помочь разобраться с тем, что это такое – 1С.
Сегодня компания 1С своими силами внесла такое количество путаницы в описания продуктов, в требования к уровню специалистов, которые будут настраивать систему, в выбор платформы, конфигурации, плагинов, надстроек, версий и прочее, прочее, что система 1С лично мне начинает напоминать старый сериал «Спрут». Если кто-то еще помнит, то в этом фильме комиссар боролся с преступной группировкой, часть которой являлась банковская группа. И эта банковская система была настолько запутанной, что понять, откуда берутся деньги, куда они уходят, каким образом работает то или иное подразделение и главное зачем, было очень трудно.

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

Я же попытаюсь распутать «щупальца Спрута» и структурирую общее понимание того, каким образом работает система 1С.

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

А если вам нужны какие-то конкретные технические нюансы работы 1С, то вы всегда можете воспользоваться следующими ресурсами:

  1. Сайт 1С и партнерский форум. http://www.1c.ru
  2. Другие ресурсы
В подавляющем большинстве случаев ответы на ваши вопросы найдутся на одном из этих ресурсов. Есть еще много форумов и прочего, но большая часть решений – именно там.

1С как экосистема

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

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

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

Итак, с точки зрения технической экосистемы 1С состоит из следующих компонентов:

  1. Платформа 1С – это та основа, на которой пишутся конфигурации, с которой работают программисты и пр. Она обновляется от версии к версии, а потому может быть: 6.0, 7.7, 8.0, 8.2 или 8.3.
  2. Конфигурация. Это следующий уровень конкретизации. Конфигурации пишутся на платформе с использованием кода 1С. Пользователи работают с конфигурациями.
  3. 1С Битрикс. Система для работы с сайтами, о ней поговорить стоит отдельно.
Еще один разрез, в котором можно структурировать работу 1С, - это организационный уровень. И здесь есть 2 части, которые также друг без друга не работают:
  1. Сама компания 1С и ее штат специалистов.
  2. Партнеры 1С (франчайзинг) и специалисты, занимающиеся обслуживанием системы. Их также стоит вныделить в качестве одной из составляющих эко-системы. Без специалистов, которые дорабатывают и внедряют 1С, система работать не будет. Это могут быть компании-партнеры 1С или одиночки-фрилансеры, не важно, они просто должны быть, иначе система не будет жизнеспособной.
Далее я предлагаю подробнее рассмотреть части эко-системы 1С.

Платформа

Платформа – это та самая основа, на которой 1С программисты, используя язык программирования 1С, пишут готовые программы (конфигурации) для пользователей. Именно платформа является той основой, без которой не будет работать ни один компонент, ни одна конфигурация. Одновременно сама платформа без конфигурации может заинтересовать исключительно 1С программиста, для всех остальных (пользователей, различных специалистов) она бесполезна.
Работать можно на разных версиях платформы. Я знаю, что на практике встречается применение версии 8.2 и 8.0, а также достаточно старой, но все еще популярной 7.7, иногда встречается даже использование первого удачного релиза 6.0. Но я буду говорить исключительно о версии 8.3, как о самой последней на момент написания статьи. Многие вещи, которые мы обсудим, одинаково актуальны и для прошлых версий. Но часть была добавлена только в последних релизах. Хотелось бы, чтобы читатели учитывали этот факт.

Важно понимать, что пользователям чаще всего не требуется весь спектр возможностей, которые дает 1С. Особенно актуально это утверждение для малого и среднего бизнеса. А вот качество и надежность работы для пользователей крайне актуальны. И в этом отношении с программными продуктами 1С, к сожалению, возникает достаточно много проблем.
Программисты при работе с 1С используют специальный язык программирования, который был создан разработчиками 1С для работы с платформой 1С. Сегодня он доступен на русском и английском языках, но изначально был написан на русском, а потому типовые конфигурации также пишутся традиционно на русском языке, хотя всегда есть возможность применить в нужном месте также и английские версии операторов, если программисту так удобнее работать. Язык этот представляет смесь бейсика и C+ с добавлением SQL для написания запросов. Кроме того, в нем предусмотрена возможность использования различных конструкторов и плагинов.

Одна из особенностей платформы 1С – это отсутствие модульности. Платформа – это нечто целое, здесь невозможно четко указать, что какой фрагмент кода (модуль) за какие возможности отвечает. Конечно, при установке вы можете указать, какие компоненты нужно установить, а какие – нет. Но эта возможность присутствует только в момент установки, и, на самом деле, предлагает совсем небольшое число вариантов.

Еще одна ремарка, которая поможет, надеюсь, избежать флейма и споров:

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

При этом я также понимаю, что при большом желании и достаточном уровне знаний программиста очень многие вопросы могут быть решены, а проблемы окажутся не актуальными. А потому, если вы используете какие-то уникальные разработки, проблемы и вопросы, которые я раскрываю, могут оказаться для вас совсем не интересными. Для всех остальных – продолжаю.
Варианты поставки платформы
При выборе платформы очень важно обратить внимание на варианты поставки решения. Первое, что вам важно, это метод организации работы с данными:
  • Файловое решение
  • Клиент-серверный вариант
В файловом решении вся рабочая информация будет храниться в одном общем файле. Не важно, какую из конфигураций вы при этом установите. В любом случае вы получите служебный файл с расширением CD (внутренний формат 1С), в котором будет храниться все: справочники, документы, регистры и т.д. Если число пользователей вашей программы не превышает 4 человек, скорей всего, вам вполне подойдет этот вариант. Тем более, что настраивать файловую систему значительно проще, здесь можно даже обойтись без помощи 1С-специалиста. Отчасти проблему скорости работы можно решить при помощи RPD (Remote Desktop Protocol - протокол удалённого рабочего стола), но только отчасти.

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

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

Клиент-серверная организация хранения данных – это организация баз данных в таблицах на сервере. Это могут быть MSSQL, Oracle или другой вариант организации баз данных.

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

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

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

Итак, существуют версии 1С:

  • для Windows,
  • для Linux.
Для Mac OS на момент написания статьи версии не разработано.

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

Предприниматели и любые представители бизнеса – люди достаточно консервативные, им важней всего – стабильная надежная работа. Чаще всего бизнесу не столь важна высокая скорость работы или огромный перечень возможностей, сколько требуется просто стабильная работа. Кроме того, Linux на сегодня не слишком востребован в отечественном бизнесе. А потому с этой версией сталкиваться приходится очень редко.

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

Что можно сказать о компонентах платформы 1С:

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

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

Пользователи также могут столкнуться с этой проблемой – ошибками и нестабильной работой программного обеспечения при работе с платформой. Есть определенный набор функций по обслуживанию 1С, которые может выполнять пользователь. Для этого имеется пользовательский интерфейс платформы. И здесь стоит вернуться к разным версиям интерфейса пользователя.

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

По этому признаку можно выбрать:

  1. Нативный 1С-клиент. Это традиционный программный интерфейс, когда к 1С идет обращение из 1С.
  2. Работу через браузер.
  3. Работу через мобильное приложение.
Каждый из вариантов имеет некоторые ограничения, подробнее о них вы можете почитать на официальном сайте 1С.
Нативный клиент
Нативный клиент также делится на серию подклиентов, что вносит в вопрос выбора программного обеспечения дополнительный хаос. Здесь самое главное – это выбрать «толстый» или «тонкий» вариант клиента. На первый взгляд, выбор здесь не критичный, особенно для программиста. На самом деле, при работе с конфигурацией через интерфейс могут возникать проблемы из-за ошибок выбора.

В чем разница между этими подклиентами?

«Толстому» требуется широкий (толстый) канал связи, «тонкому» хватает минимума. Подавляющее большинство моих заказчиков пользуются «толстым» клиентом, так как локальные или интернет-каналы сейчас у всех хорошие, проблем с их «шириной» не возникает. С другой стороны, «тонкий» клиент имеет определенные ограничения в работе, есть вещи, которые в нем сделать невозможно.

Web-клиент (работа через браузер)
Web-клиент – это работа с программой 1С через браузер. Т.е. вы используете определенную технологию, которая позволяет через Интернет, используя удобный для вас браузер, получить доступ к базе данных. При этом интерфейс полностью обрисовывается непосредственно в браузере.

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

Мобильная версия
Этот вариант клиента от 1С появился сравнительно недавно и пока что особым спросом не пользуется. Причины такого отношения:
  1. Клиент получился очень сложным. Для того, чтобы настроить эту программу, человек должен знать одновременно 1С и мобильные технологии, причем, достаточно глубоко на уровне кода. Понятно, что найти такого специалиста довольно сложно, что не способствует популярности программного решения.
  2. Технология еще очень «сырая» и плохо отлаженная. Я лично пробовал это решение применить для своих клиентов, общался с коллегами, которые также ознакомились с этой технологией, и на данный момент мое мнение и мнение коллег совпадает: проще и удобнее создать какое-то свое мобильное приложение, чем использовать вариант от 1С.
Мобильная версия должна сочетать в себе очень много всего, здесь требуется работа нескольких специалистов, которые будут работать вместе и помогать друг другу:
  • Настройка доступа к базе данных извне;
  • Решение вопросов безопасности;
  • Настройка сервера для работы с мобильными приложениями;
  • Настройка программных продуктов 1С;
  • Настройка web-приложений (по необходимости).
Все это необходимо для обеспечения корректной работы мобильного приложения от 1С. Понятно, что собрать такую команду специалистов сложно и дорого, а потому в малом и среднем бизнесе это решение популярностью не пользуется.
Платформа 1С: резюме
Платформа 1С – очень функциональна, в ней имеется огромный список самых разных возможностей. И это количество естественным образом переходит в сложность. В результате порог вхождения в работу с 1С для программиста очень высок. Клиенты слышат о разных возможностях 1С, просят программиста помочь в их реализации. А это значит, что специалист должен быть постоянно в курсе обновлений, понимать и знать самые разные вещи.

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

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

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

Все это вместе приводит к проблеме позиционирования:

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

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

На понятийном уровне я думаю, информации достаточно. А технические нюансы вы всегда можете найти на ресурсах 1С, которые я рекомендовал выше.

Конфигурации

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

Конфигурации бывают:

  1. Типовые – написанные компанией 1С. Они все присутствуют на сайте 1С.
  2. Нетиповые – написанные компаниями-партнерами.
На уровне пользователя эти два типа различаются следующим образом:
  1. Типовые конфигурации создает и сопровождает компания 1С. В большинстве случаев они большее качественные, в этих конфигурациях лучше организована работа с кодом, используются чаще всего оптимальные решения, оперативно исправляются ошибки. Конечно, все и постоянно слышат о «вечных багах» в типовых конфигурациях 1С, и они там действительно постоянно присутствуют, но все таки, стоит отдать должное специалистам компании. Критичные ошибки они исправляют действительно оперативно.
  2. Нетиповые конфигурации пишут компании-партнеры 1С, и здесь достаточно сложно сказать что-то определенное. Такие конфигурации бывают очень разными. Чаще всего их пишут по случаю: отраслевые (для какой-то определенной отрасли) или написанные для определенного случая (конкретной компании). И здесь необходимо понимать, что компании-партнеры 1С в большинстве своем имеют достаточно высокую текучку кадров. А потому и конфигурации в них пишутся довольно не организовано. Начинает писать один программист, продолжает – другой, завершает – третий. При это каждый из них вносит туда что-то свое, свое понимание, решения, идеи. А наработки предшественника применяет так, как удобно, а не как это было задумано.
Может быть, вы помните забавный мультфильм «Трое из Простоквашино»? Там мальчик дядя Федор писал письмо родителям, но не дописал, отвлекся, и за него дописывали по очереди друзья: кот и пес. И каждый из них рассказывал о своих проблемах. В результате родители мальчика с удивлением узнали, что у него «то лапы ломит, то хвост отваливается». Вот по такому принципу очень часто пишут нетиповые конфигурации.
Отсутствие преемственности при написании нетиповых конфигураций, а часто и достаточно подробной документации, приводят к тому, что по всем вопросам внедрения и доработок придется обращаться в компанию, которая разработала эту конфигурацию.

Нетиповые конфигурации также бывают двух видов:
  1. Написанные на основе типовых. Эти конфигурации создаются путем добавления функционала к какой-то типовой. Например, существует такой продукт, как 1С: Управление торговлей и CRM. Здесь совместили типовую конфигурацию Управление торговли и систему CRM. Интересно, что создатели конфигурации компания Рарус, называют именно Управление торговли подсистемой, хотя на самом деле – это была та основа, на которой писалась вся конфигурация.
       Плюсы таких конфигураций – они более функциональны в сравнении с типовыми, в них добавлены часто очень нужные возможности.
       Минусы – разработчики этих конфигураций часто не успевают создавать своевременно свои обновления. Таким образом, очень может быть, что компания 1С уже выложила свои варианты обновлений, а пользователю нетипового решения придется ждать какое-то время, пока разработчик создаст аналогичное обновление для конкретного решения. Кроме того, подобные доработки также бывают достаточно «сырыми», в них может быть много ошибок.
       
  2. Конфигурации, написанные с нуля. При их создании типовые конфигурации не используются вообще, решения пишутся для определенных задач.
       Плюсы : конфигурация написала точно под нужны заказчика, здесь есть все необходимое и почти ничего лишнего.
       Минусы : обычно при написании подобных решений стандарты кода не соблюдаются, дорабатывать подобные программные продукты очень сложно, чаще всего, это может сделать достаточно быстро только автор.
Если я приходил к клиентам и видел, что там стоит нетиповая конфигурация, написанная с нуля, я стараюсь либо не трогать ее вообще, либо полностью меняю на удобное и универсальное решение. Достаточно часто подобные решения на самом деле не требуются, особенно в малом и среднем бизнесе. При этом типовые продукты проще в дальнейшем обслуживании, и, как следствие, дешевле, что для бизнеса всегда важно.

Резюме

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

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

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

Момент времени:
Фирма 1С описывает так:
Предназначен для получения и хранения момента времени для объекта в базе данных. Содержит дату и время, а также ссылку на объект базы данных. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип МоментВремени.
Момент времени используется в тех случаях, когда важно различать моменты времени для объектов, имеющих одинаковую дату и время, например для сравнения положений документов на временной оси.

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

МоментВремени() - это момент непосредственно ПЕРЕД позицией документа (аналог РассчитатьРегистрыНа(ТекущийДокумент() в 7-рке), а если необходимо получить момент непосредственно после позиции документа, то используйте объект Граница
Код 1C v 8.х МоментСразуПослеДокумента = Новый Граница(ДокументСсылка,ВидГраницы.Включая)

Код 1C v 8.х // Пример создает момент времени по дате и ссылке на объект в базе данных.
Момент = Новый МоментВремени(ТекДокумент.Дата, ТекДокумент.Ссылка);

При получение остатков:
"Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя ДАТУ и ССЫЛКУ НА ДОКУМЕНТ)
<Виртуальная> таблица остатков не хранится в БД, а строится в момент обращения к ней.
1. подбирается больший или равный значению ПАРАМЕТР момент времени, на который РАССЧИТАНЫ остатки
2. на этот момент получаются остатки из таблицы итогов
3. если момент времени, на который считаются остатки, не совпадает с моментом времени итогов, то остатки ДОСЧИТЫВАЮТСЯ по движениям.

Граница:
Предназначен для получения и хранения границы некоторого интервала значений. Содержит граничное значение интервала, а также признак включения или исключения граничного значения в интервал.
Используется в качестве значений свойств и параметров методов других объектов, имеющих тип Граница.
Граница используется в тех случаях, когда важно указание включения или исключения граничного значения, например при получении остатков и оборотов регистров накопления, срезов и значений регистров сведений, для задания интервалов запросов.

ВидГраницы - Определяет набор видов границ по отношению к граничному значению:
ВидГраницы.Включая - Граница включает граничное значение.
ВидГраницы.Исключая - Граница исключает граничное значение.
Код 1C v 8.х Граница = Новый Граница(Дата, ВидГраницы.Включая);
Запрос.УстановитьПараметр("КонГраница", Граница);

Пример получения остатков на дату документа, включая его движения
Запрос.Текст =
"ВЫБРАТЬ

|ИЗ

Запрос.УстановитьПараметр("МомВрем", Новый Граница(МомВрем.МоментВремени(), ВидГраницы.Включая));

Пример получения остатков на дату документа, но до его движений
Код 1C v 8.х Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВзаиморасчетыСРаботникамиОрганизацийОстатки.Физлицо,
| ВзаиморасчетыСРаботникамиОрганизацийОстатки.СуммаВзаиморасчетовОстаток
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(&МомВрем, Физлицо = &Физик) КАК ВзаиморасчетыСРаботникамиОрганизацийОстатки";
МомВрем = Документы.НачислениеЗарплатыРаботникамОрганизаций.НайтиПоНомеру("00012","31.12.2009 23:59:59");
Запрос.УстановитьПараметр("МомВрем", Новый Граница(МомВрем.МоментВремени(), ВидГраницы.Исключая));
// или так: Запрос.УстановитьПараметр("МомВрем", МомВрем.МоментВремени());
Запрос.УстановитьПараметр("Физик", Справочники.ФизическиеЛица.НайтиПоКоду("365"));
ВывестиРезультат(Запрос.Выполнить());

Информация взята с сайта

Новое на сайте

>

Самое популярное