Проверка расширения 1с на ошибки

   Гений 1С

25.05.22 — 18:20

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

И 1С об этом стоически молчит.

Можно ли как-то выявить подобные моменты, хотя бы синтаксическим контролем (он тоже молчит) или еще как?

   Конструктор1С

1 — 25.05.22 — 18:47

Сходи на курсы по программированию. Там научат

   Выпрь

2 — 25.05.22 — 18:50

(1) не смог пройти мимо темы с Г1С?

   hhhh

3 — 25.05.22 — 19:36

(0) правой кнопкой мыши щелкаешь по списку расширений и там есть пункт типа проверка применения расширений.

   Жан Пердежон

4 — 25.05.22 — 19:52

(0) тесты, тесты и еще раз тесты

   MaxS

5 — 25.05.22 — 20:04

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

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

Дойдёт ли до реализации, не знаю.

   Гений 1С

6 — 25.05.22 — 20:06

(3) Спасибо, КЭП, но вопрос не об этом. Перечитайте…

(5) что, до сих пор не сделали?

можно в принципе парсинг устроить, но лень…

   hhhh

7 — 25.05.22 — 20:22

(6) а в чем вопрос? (3) дает нам список всех процедур, которые с ошибками. А дальше просто иду по этим процедурам и смотрю, что поменялось, если процедуры большие, то сравнение файлов, смотрю, чем отличаются.

   Гений 1С

8 — 25.05.22 — 20:46

(7) в том, что если поменялось количество параметров или название процедуры, то проверка применимости об этом «умолчит», не сталкивались что ли? Я тоже наивно предполагал, что 1С сообщает о таких нюансах.

   Выпрь

9 — 25.05.22 — 20:49

Напиши в 1с или на партнерском.
Этот вопрос как раз по теме там

   Гений 1С

10 — 25.05.22 — 20:58

(9) а как написать в 1с от меня лично (ну чтобы в корзину не отправили), от лица клиента не хочу? и на партнерском меня нет.

   H A D G E H O G s

11 — 25.05.22 — 21:01

(10) Никак. Нужен франчID

   Гений 1С

12 — 25.05.22 — 21:14

(11) ну вот и напиши от себя, я на авторство не претендую, это же беспредел, такой бардак с расширениями…

   H A D G E H O G s

13 — 25.05.22 — 21:20

(12) ну вот сформируй текст обращения с конфигу с вопроизведением, пришли на liveups@yandex.ru, я отправлю.

pdf и cf.

   hhhh

14 — 25.05.22 — 22:34

(12) вообще-то одно из основных изменений в расширении процедуры — это часто добавляются параметры. Поэтому обычно в расширении другое количество параметров и это не ошибка, и проверять количество параметров не нужно. И (10) прав, это пожелание на 99% отправят в корзину.

   Mort

15 — 25.05.22 — 22:46

МенеджерРасширенийКонфигурации (ConfigurationExtensionsManager)

ПроверитьВозможностьПримененияВсех (CheckCanApplyAll)

Синтаксис:

ПроверитьВозможностьПримененияВсех()

Возвращаемое значение:

Тип: Массив.

Возвращает массив объектов типа ИнформацияОПроблемеПримененияРасширенияКонфигурации

Описание:

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

Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.3.9.

   Ненавижу 1С

16 — 26.05.22 — 08:08

(14) как ты себе это представляешь? «в расширении другое количество параметров»

с аннотацией &Вместо, &Перед или &После

   Гений 1С

17 — 26.05.22 — 10:25

(16) вот и я не понял, о чем это HHHH, наверное был пьян. Параметры у него множились, ггг

   Гений 1С

18 — 26.05.22 — 10:25

(15) Морт, ты уже второй, который не вкурил, о чем речь в вопросе. Забавно.

   oslokot

19 — 26.05.22 — 10:44

(0) Пока только вручную. Восьмерка еще сырая! (с)

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

   Гений 1С

20 — 26.05.22 — 10:47

(19) вот думаю, пись парсинг или нет. Есть где-нибудь код по разбору кода 1с, чтобы выделить заговолоки функций модулей?

   Kassern

21 — 26.05.22 — 10:53

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

   Dmitrii

22 — 26.05.22 — 11:08

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

И случай изменения количества параметров не самый худший. Эта проблема хотя бы сразу всплывает после обновления. Соответственно разработчик может её быстро исправить. И можно спокойно работать дальше.

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

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

Единственный способ решения проблемы (0) — тестирование. Проверка работоспособности каждой доработки каждого расширения после каждого обновления. Собственно говоря то, о чём говорят в (4) и (5).

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

   Гений 1С

23 — 26.05.22 — 11:16

(21) ты перепутал, у меня не такой подход. Я не паразит, я несу клиенту ценность.

   Гений 1С

24 — 26.05.22 — 11:18

(22) это понятно, но соответствие параметров можно было бы выявить и без тестирования, на уровне контроля возможности применения. Удивлен, что 1с это не сделало, а потом Конструктор 1С утверждает, что 1С — не говно.

   Выпрь

25 — 26.05.22 — 11:19

(21) ошибки исправлять всегда влом — ибо это нужно ппц как срочно, все приходится бросать и исправлять

   oslokot

26 — 26.05.22 — 11:28

(20) парсер, а толку от него? Особенный прикол когда ты расширял процедуру например в общем модуле, а после очередного обновления эта процедура безвозвратно канула в лету, причем вместе с модулем :)

   Гений 1С

27 — 26.05.22 — 11:35

(26)

1. Выгружаю всю конфу в файлы.

2. Выгружаю все расширения в файлы.

3. Запускаю парсер, проверяю возможность применения.

Проффит.

(26) так ты это увидишь и подумаешь, что расширять теперь. Не надо паники и всепропальничества

   hhhh

28 — 26.05.22 — 11:35

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

   oslokot

29 — 26.05.22 — 11:38

(27) проверяешь только по «сходимости» процедур или как то еще?

   Выпрь

30 — 26.05.22 — 11:38

(27) это все очень долго. Влом будет вме это делать

   Пулья в зубах

31 — 26.05.22 — 11:39

(28) а что плохого в том чтобы изменять конфигурацию?

   Kassern

32 — 26.05.22 — 11:40

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

   Kassern

33 — 26.05.22 — 11:42

(23) ну вот, 1ска вам позволяет нести ценность N раз после обновлений)) «а потом Конструктор 1С утверждает, что 1С — не говно.» — я так понимаю вы утверждаете обратное?

   PLUT

34 — 26.05.22 — 11:47

(31) плохого в том, что после внесения изменений на форму (ну там группу или команду или реквизитов формы напихать своих) при обновлении эти формы обычно хреново обновляются… а программные изменения форм не каждый погромист осилит/заставит себя погромировать

   PLUT

35 — 26.05.22 — 11:48

(34) или изменения в дин.списках на формах

   Ненавижу 1С

36 — 26.05.22 — 11:53

(31) это не ваша зона ответственности, а вендора

ваша зона ответственности — адаптировать код вендора под себя

   Гений 1С

37 — 26.05.22 — 11:58

(33) ага, постоянно это утверждаю.

   PLUT

38 — 26.05.22 — 11:59

(37) но приходится в по уши в г@вне влачить своё бренное существование (на хлеп с маслом)

   Kassern

39 — 26.05.22 — 11:59

(37) получается вы любите работать с говном? Даже профессию связали с этим. Вот это я понимаю отношение к делу с вашим восприятием))

   PLUT

40 — 26.05.22 — 12:00

   Пулья в зубах

41 — 26.05.22 — 12:14

(34) Вроде речь зашла про общий модуль. Насчет форм: в расширениях формы автоматически обновляются далеко не во всех случаях.

   Пулья в зубах

42 — 26.05.22 — 12:14

(36) А где написано что это нельзя делать в основной конфе?

   Dmitrii

43 — 26.05.22 — 12:18

(24) Ключевой смысл моего высказывания в (22) заключается в том, что синтаксический контроль применимости расширения (если когда-нибудь будет сделан) почти никак не решает проблему. Видимо потому в 1С и не хотят особо с этим заморачиваться. Трудозатраты на 100 рублей с выхлопом на 3 копейки. Да ещё и при том, что это никак не снимет необходимость перетестировать все доработки в каждом из расширений после обновления основной конфигурации.

   Гений 1С

44 — 26.05.22 — 12:42

(38) для меня ближе аналогия с доктором. Есть корпорация зла, которая травит людей. А я лечу их, облегчаю их мучения. Так-то. Чумной 1С-доктор, так сказать.

   Гений 1С

45 — 26.05.22 — 12:43

(42) можно, если вы мазохист. В расширении все доработки в одном месте, а так на здоровь, лазайте сравнением-объединением по всей конфе. Не говоря уже о том, если обновляется несколько релизов. Юноша, вы сперва опыта наберитесь, потом своё мнение высказывайте.

   Пулья в зубах

46 — 26.05.22 — 12:48

(45) Олеш, я хотя бы увижу такие проблемы как ты в сабже описываешь при просмотре дважды измененных.

   Гений 1С

47 — 26.05.22 — 12:55

(46) такие проблемы как я описываю, можно найти парсингом. Мне кажется эпоха «дважды измененных» прошла. Выносить изменения в расширения де-факто становится стандартом. Но если вы предпочитаете мучать код, на здоровье, жаль тех, кто придет после вас обслуживать килиента. Дорого-сердито.

   Гений 1С

48 — 26.05.22 — 12:55

Мне это напоминает одного программиста, который настойчиво изменения в формах делал руками, а не кодом. Ну привык он так. А потом во фране его клиента дали мне и я перетащил все изменения в код, потому что не мазохист.

   Пулья в зубах

49 — 26.05.22 — 13:00

(47) Васян, точно парсинг, а не фистинг?

Читай тут

Проверка методов при контроле применимости расширения в Конфигураторе

8.3.22 https://wonderland.v8.1c.ru/blog/razvitie-rasshireniy-8-3-22/

   Dmitrii

50 — 26.05.22 — 13:01

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

И сделали для себя соответствующие выводы — когда расширения нужны и хороши, а когда целесообразнее всё таки основную конфигурацию поломать.

   Гений 1С

51 — 26.05.22 — 13:05

(50) вот смотрю на твой вывод мучать конфигурацию и не понимаю — где здесь мудрость, где тут рацио?

   Гений 1С

52 — 26.05.22 — 13:06

(49) ну хоть что-то:

В версии 8.3.22 проверка таких методов будет сделана и в режиме Конфигуратор. В команду «Проверка применимости расширений» добавятся две проверки для методов, не являющихся обработчиками стандартных событий:

Проверка, что существует метод в основной конфигурации, указанный в аннотации

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

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

В текущей версии 1C:Enterprise Development Tools описанные проверки уже реализованы:

Можно открыть 8.3.22 или IDE и в ней накатить CF на пустую базу и проверить расширения. Гм… хоть что-то.

   Выпрь

53 — 26.05.22 — 13:08

(50) когда ты на фиксе и когда ты фришник — это немного разные подходы к доработкам

   MaxS

54 — 26.05.22 — 13:10

(43) Допустим разработчик продаёт набор расширений. Для каждого релиза своё расширение. Со своей стороны он всё протестировал. А клиент забыл или забил проверить совместимость расширений и получил после обновления непонятные ему ругательства.

Была бы проверка как в (5), получил бы внятное сообщение, либо автообновление расширения.

(52) Это помощь разработчику, а клиента оставили одного разбираться с этим.

   Kassern

55 — 26.05.22 — 13:10

(52) все уже получается 1ска не говно и вы больше не ассенизатор?))

   Ненавижу 1С

56 — 26.05.22 — 13:55

(42) нигде, как и многое другое

это смотря какой стиль вы выбираете и какие методики практикуете

   Выпрь

57 — 26.05.22 — 13:57

(54) а какой код можно написать в проверке расширения.
Вот в типовой перестали юзать метод. Как это кодом можно проверить?

   Выпрь

58 — 26.05.22 — 13:58

И вообще я говорил про сейчас, а не про всю историю

   Выпрь

59 — 26.05.22 — 13:59

(58) не туда

   Пулья в зубах

60 — 26.05.22 — 13:59

(59) а Вафель где?

   PLUT

61 — 26.05.22 — 14:00

(55) он как амбре. маскирует г@вно духами

АМБРЕ́

УСТАРЕЛОЕ•ИРОНИЧЕСКОЕ

Приятный запах устар. теперь ирон. о дурном запахе.

французы целую индустрию придумали, чтоб не мыться

   Выпрь

62 — 26.05.22 — 14:00

(60) в бане за в..ну

   MaxS

63 — 26.05.22 — 14:06

(57) Если ВерсияКонфигурации <> СовместимаяВерсияРасширения Тогда

   Сообщить(«Обновите МоёРасширение на версию » + СовместимаяВерсияРасширения);

КонецЕсли;

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

   Dmitrii

64 — 26.05.22 — 14:12

(53) >> когда ты на фиксе и когда ты фришник — это немного разные подходы

Безусловно это тоже учитывается.

Тут даже дело не в фикс/фриланс. А в том сопровождается ли конфигурация в одно лицо единственным человеком (не важно — фикс/фрилансер), который может контролировать каждое изменение/доработку и ставит заказчику обновления. Или речь идёт о разовой доработке, которая должна работать в отрыве от своего автора после любого обновления исходной конфы.

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

Типа несвязанные между собой доработки лучше делать в разных расширениях. Но при этом расширения одного и того же объекта метаданных лучше чтобы были в каком-то одном расширении.

Расширением данных лучше не пользоваться (если возможно).

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

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

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

   Dmitrii

65 — 26.05.22 — 14:28

(57) >> Вот в типовой перестали юзать метод. Как это кодом можно проверить?

Да никаким.

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

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

Такие проблемы ничем и никак не ловятся. Только тестирование.

Никакой алгоритм не поможет проверить неизменность всей цепочки вызовов какого-то конкретного метода или функции.

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

   Гений 1С

66 — 27.05.22 — 12:09

(64) в корне не согласен. Расширения для того и придуманы, чтобы ядро не ковырять. Привыкайте к правильным методикам программирования

   Пулья в зубах

67 — 27.05.22 — 12:21

(66) Васян, а как ты запросы в расширении пишешь и без контекстной подсказки работаешь?

   Dmitrii

68 — 27.05.22 — 12:33

(66) Никакие «правильные» методики программирования не работают без правильных методик поддержки разработанного кода.

Пример в (0) — яркое тому доказательство.

Сначала ты через *опу что-от напрограммировал, а потом твоё через*опное творение эпическим образом отвалилось после обновления.

Если это пример правильных методик, то либо методики не совсем правильные, либо те, кто их применяет, что-то делают не так.

>> Расширения для того и придуманы, чтобы ядро не ковырять.

Твоё понимание расширений — это твоя личная фантазия, не основанная ни на чём. 1С нигде не декларировала подобных целей (закрыть ядро для изменений).

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

Одно дело — состряпать простое расширение, добавляющее какой-нибудь реквизит в документ, на форму, и обработку этого реквизита в проведении.

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

Наберешься опыта и мнение твоё серьёзно поменяется. Вот увидишь. Я когда-то тоже нёс пургу похожую на то, что ты сейчас говоришь.

   Конструктор1С

69 — 27.05.22 — 12:54

(66) так ты и не умел никогда программировать

   Выпрь

70 — 27.05.22 — 13:02

(67) так можно же добавить нужные метаданные.
и таки 1с рекомендует их добавлять

   Пулья в зубах

71 — 27.05.22 — 13:10

(70) Есть ссылка на рекомендацию?

   H A D G E H O G s

72 — 27.05.22 — 13:12

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

Современные типовые просто невзлетят без расширений, как в скорости разработки, так и в поддержке обновлений.

Ваш негативный опыт — это ваш негативный опыт, эдакий синдром утенка.

   Пулья в зубах

73 — 27.05.22 — 13:29

(72) у лохов ничего не взлетит

  

lodger

74 — 15.06.22 — 09:49

Расширение конфигурации.

было

Данная возможность не предоставлялась.    

стало

Для команды Конфигуратора Проверка применимости расширений реализованы дополнительные проверки:

Проверка существования метода, указанного в аннотации.

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

Данные проверки выполняются для методов, которые не являются обработчиками событий.

з0чем

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

Источник: https://dl03.1c.ru/content/Platform/8_3_22_1368/1cv8upd_8_3_22_1368.htm#87d8d2b8-7910-11ec-aa69-0050569f678a

Проверяем возможность применения расширений конфигурации

Открываем конфигуратор и переходим к списку расширений конфигурации: Конфигурация => Расширения конфигурации. В списке расширений проверяем возможность применения всех расширений конфигурации: Действия => Проверка возможности применения расширений конфигурации.

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

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

Обновляем режим совместимости расширения конфигурации

Если после обновления конфигурации расширение выдает ошибку «Значение контролируемого свойства РежимСовместимости у объекта не совпадает со значением в расширяемой конфигурации» — надо актуализировать режим совместимости. Для начала, посмотрите новый режим совместимости в Вашей конфигурации. Теперь необходимо установить аналогичный режим совместимости для расширения конфигурации:

Еще лучшим решением будет снятие контроля за режимом совместимости (система перестанет контролировать это свойство):

Исправляем ошибки изменения свойств объектов и их реквизитов

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

Если в исходной конфигурации тип этого реквизита изменится — расширение не будет применено и возникнет ошибка «Значение контролируемого свойства Тип у объекта не совпадает со значением в расширяемой конфигурации». Для исправления этой ошибки можно снять галочку контроля типа реквизита или установить верный тип для реквизита. Для этого в основной конфигурации находим объект, которому принадлежит реквизит и запоминаем его тип. Далее переходим в расширение и устанавливаем верный тип для реквизита.

Аналогичный подход можно применять для всех свойств объектов и их реквизитов.

Обновляем формы в расширении конфигурации

При переходе на новую версию типовой конфигурации могут измениться формы, которые используются в расширении конфигурации. В платформе предусмотрен механизм быстрого обновления добавленных в расширение форм. Для начала, отобразим в дереве конфигурации расширения только измененные объекты — Действия => Измененные и добавленные в расширении:

Далее открываем нужную форму и нажимаем на кнопку «Обновить расширение формы»:

Переход на платформу 8.3.14 (и выше) и пересоздание расширения конфигурации

Фирма 1С с каждым релизом платформы развивает механизм расширений. Поэтому все расширения можно условно разделять на актуальные и устаревшие. Термин «устаревшие» означает устаревание внутренней структуры расширения относительно последних версий платформ. Первые расширения требовали включения в состав расширения большого количества объектов типовой конфигурации. Это означало, что очень часто такие расширения надо обновлять при обновлении типовой конфигурации. В версиях платформы 8.3.14 и выше добавлены механизмы, благодаря которым в расширение не нужно добавлять все объекты — фактически описываются и захватываются только нужные для доработки объекты типовой конфигурации. Поэтому если у Вас было разработано расширение на платформе 8.3.10 — 8.3.13 — его желательно переработать под актуальные версии платформы.

Если не получилось исправить ошибки?

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

Наши разработки:

Доброго дня, коллеги!

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

Вопрос

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

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

Вопрос – правильно ли я описал последовательность действий при проверке работоспособности расширений? Какими средствами можно пользоваться для ускорения и упрощения процесса проверки работоспособности расширений?

Ответ

Да, логика действий описана правильная. Получается, нужно вручную выполнить что-то вроде поиска дважды измененных объектов. Если обновляемая конфигурация знакома, известно, что именно делает конкретное расширение, то можно немного сократить работу по проверке корректности расширения. Проверяем, что расширение подключается, затем в пользовательском режиме проверяем, как оно работает. Например, если это печатная форма, формируем ее, проверяем корректность формы, не возникают ли ошибки во время исполнения программного кода. Если при помощи расширения изменялись роли и права доступа, проверяем, что в пользовательском режиме нужные объекты доступны (или наоборот – недоступны) конкретным пользователям и т.д. То есть здесь исходим из того, что есть описание функционала расширения, не нужно разбираться в этом “от программного кода”. Это поможет сэкономить время при обновлении.

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

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

«1С:Автоматизированная проверка конфигураций» (АПК) предназначена для автоматизированной проверки конфигураций и расширений конфигурации, разработанных на платформе «1С:Предприятие 8», на соответствие стандартам и иным требованиям технического характера.

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

Техническое качество решений


1С:Автоматизированная проверка конфигураций

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

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

Основные возможности

АПК выполняет проверку технического качества конфигураций в следующих вариантах:

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

  • Разовая автоматическая проверка конфигураций на соответствие актуальным стандартам разработки конфигураций на платформе «1С:Предприятие 8» для получения детального представления о качестве конкретной версии прикладного решения (например, при сертификации на статус «1С:Совместимо»).


1С:Автоматизированная проверка конфигураций

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

Это рекомендуемый вариант для непрерывной интеграции (CI, англ. Continuous Integration) с целью выявления ошибок и несоответствий стандартам на ранней стадии разработки. Непрерывная интеграция — практика частой сборки и тестирования продукта с целью выявления и устранения ошибок почти сразу же, как только они были привнесены.

Для этого в распоряжении у разработчика есть целый ряд средств:

  • Гибкая настройка области и графика проверки:
    • проверка конфигурации по расписанию для планирования запуска проверки по определенному удобному графику;
    • автоматическое обновление проверяемой конфигурации из сетевого хранилища конфигурации (при коллективной разработке); при этом выполняется инкрементальная проверка только последних измененных объектов, что многократно ускоряет проверку в целом и позволяет выполнять проверки чаще.
  • проверка как групп требований, так и отдельных стандартов, в том числе отдельная платформенная проверка конфигурации;
  • проверка всех или только указанных объектов конфигурации;
  • проверка объектов конфигурации с учетом заданных исключений.
  • Формирование результатов проверки конфигурации в виде настраиваемых сводных отчетов и быстрые операции с выявленными ошибками:
    • установка различных состояний ошибок (зарегистрирована, исправлена, особенность);
    • учет особенностей, указанных ответственным при проверке конфигурации, и синхронизация их с найденными ошибками при последующих проверках;
    • перенаправление ошибок другим ответственным;
    • комментирование ошибок и особенностей с целью повышения их информативности;
    • дополнение словаря верных слов в случае выявления ложной орфографической ошибки.
  • Удобное назначение ответственных за подсистемы, объекты, формы, реквизиты или конфигурацию в целом. При этом ответственным за ошибку назначается ответственный за объект, где эта ошибка найдена, или ответственный за его родительский объект (например, подсистему), если непосредственно для самого объекта ответственный не указан.
  • Автоматическая рассылка ответственным по электронной почте уведомлений о направленных на них ошибках, отчетов о завершении проверки конфигурации и о ее результатах.
  • Пакетный режим запуска с выгрузкой результатов проверки в формат JUnit.
  • Интеграция с «Системой проектирования прикладных решений» (СППР) для работы с ошибками проверяемой конфигурации непосредственно в СППР.
  • Проверка орфографии

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

    Сервисные возможности

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

    Сравнение качества различных конфигураций

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

    Расширяемость

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


    1С:Автоматизированная проверка конфигураций


    1С:Автоматизированная проверка конфигураций


    1С:Автоматизированная проверка конфигураций


    1С:Автоматизированная проверка конфигураций

    Порядок распространения и использования

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

    Дистрибутив финальной версии распространяется следующими способами:

    1. в составе диска ИТС;
    2. на сайте поддержки пользователей.

    Для использования финальной версии «1С:Автоматизированная проверка конфигураций» необходима платформа «1С:Предприятие 8» версии 8.3.6 и выше.

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

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

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

    Еще одно неудобство в низкой информативности такого уведомления. Оно не несет никаких объяснений – только 2 кнопки, и нажатие на любую из них, по сути, ничего не дает. Поэтому давайте разбираться.

    ошибка формата потока конфигуратор

    Что значит в 1С «Ошибка формата потока»

    Это баг, связанный с затруднениями чтения кэша при обращении к базе данных (БД). Может проявляться на разных этапах работы (или подготовки к ней), то есть как при запуске программы, так и при открытии или заполнении отчета, проведении какого-нибудь бланка и тому подобное.

    Есть сразу несколько причин ее возникновения (рассмотрим их ниже), но она в любом случае свидетельствует о наличии неверных сведений в БД системы, требующих актуализации, исправления, восстановления. Входит в топ-3 проблем по частоте «диагностирования», так что будьте готовы к тому, что вам, скорее всего, тоже придется выбирать подходящее решение.

    Описание ошибки информации потока в 1С

    Выглядит как всплывающее окно следующего вида:

    формат потока 1с 8

    Максимально лаконично: две кнопки на выбор – и нет конкретики.

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

    Готовые решения для всех направлений

    Склады

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

    Узнать больше

    Магазины

    Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

    Узнать больше

    Маркировка

    Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

    Узнать больше

    E-commerce

    Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

    Узнать больше

    Учреждения

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

    Узнать больше

    Производство

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

    Узнать больше

    RFID

    Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

    Узнать больше

    ЕГАИС

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

    Узнать больше

    Сертификация

    Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

    Узнать больше

    Инвентаризация

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

    Узнать больше

    Показать все решения по автоматизации

    Список причин появления ошибки потока данных в 1С 8 3

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

    • пользовательские настройки;
    • сведения о регулярно выполняемых действиях;
    • размеры размещения функциональных окон.

    В результате, когда ПО нужные какие-то данные, оно обращается к cash’у, а не к внешнему серверу, а значит получает ответ быстрее и снижает нагрузку на ОС, что оборачивается увеличением производительности.

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

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

    ошибка формата потока

    Виды

    Любой такой баг можно условно отнести к одной из трех категорий:

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

    От типа бага напрямую зависит и выбор варианта его устранения. Хотя можно поступить по-другому и поочередно пробовать все методы, пока какой-то не принесет результат, благо ни один из них не способен навредить системе или нарушить безопасность ПК. Но это стратегия для тех, у кого много свободного времени. Мы же советуем действовать более рационально: лучше потратить эти «лишние» полчаса на резервное архивирование – для бэкапа, на всякий случай – после чего проанализировать ситуацию, диагностировать проблему и решить ее с первой попытки.

    Как устранить в 1С файловую ошибку формата потока

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

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

    Почистить кэш 1С

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

    Откройте приложение и посмотрите в левый нижний угол – в нем написан путь.

    1с предприятие 8 ошибка формата потока

    Перейдите по этому адресу в проводнике Windows и вручную уберите из каталога все элементы, кроме одного – папки 1Cv8 (после точки записывается его версия – в примере на скриншоте – 1CD).

    1с файловая ошибка формата потока

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

    Очистить cash базы 1С

    Важно не путать с предыдущим методом – здесь характер воздействия более точечный. Для устранения ошибки при загрузке данных потока в 1C следует перейти к папкам хранения кэша. В ОС Windows 7 и выше они лежат здесь:

    C:UsersUsernameAppDataRoaming1C

    C:UsersUsernameAppDataLocal1C

    Внимание, AppData может быть не видна – тогда потребуется настроить отображение скрытых папок; кроме того, по конечному адресу часто находится сразу много каталогов – вам нужны только те, что начинаются с «1Cv8».

    Самый радикальный вариант – просто удалить эти элементы целиком, со всеми их вложениями:

    1с неверный формат потока

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

    ошибка формата потока данных

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

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

    Запустить режим тестирования и исправления

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

    ошибка при загрузке данных потока

    Откроется окно настроек – обязательно поставьте галочки напротив «реиндексация таблиц…» и «проверка логической целостности…», то есть возле двух первых пунктов; третий, касающийся ссылок, опционален – можете отметить и его, – а вот все последующие уже не нужны.

    база 1с ошибка потока

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

    Запустить утилиту «chdbfl.exe»

    Она становится настоящим спасением, когда вообще не открывается «1С: Предприятие 8», и ошибка формата потока высвечивается сразу при старте работы, не давая даже зайти в Конфигуратор.

    Чтобы воспользоваться ей, перейдите по такому адресу в Проводнике Windows:

    C:Program Files (x86)1Cv88.3…bin

    при загрузке информационной базы ошибка формата потока

    Затем откройте исполнительный файл с расширением *exe от имени Администратора.

    Поставьте галочку напротив пункта «Исправлять обнаруженные…» и подтвердите свой выбор, кликнув на «Выполнить».

    ошибка формата потока 1с как исправить

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

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

    Выгрузить/загрузить базу в .dt

    Если произошла ошибка создания файлового потока, и ни одна из вышеописанных мер не помогает, можно сделать резервную копию БД и перейти на нее. Для этого:

    Запустите Конфигуратор, выберите вкладку «Администрирование», а из выпадающего в ней списка – пункт «Выгрузить», как показано на скриншоте:

    1c ошибка потока

    Укажите место записи (папку на диске), совместимое расширение (.dt) и подтвердите все это кликом на «Сохранить».

    Сделайте на сервере или на своем ПК новую базу – естественно, она будет пустой. Поэтому зайдите в ее Конфигуратор, клацните на «Администрирование», а затем на «Загрузить…».

    произошла ошибка создания файлового потока

    Выберите ранее созданный dt-массив и щелкните на «Открыть».

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

    Выгрузить/загрузить данные через XML

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

    Запустите модуль стандартной обработки – через «Главное меню», «Файл» и «Открыть», как показано на скриншоте, и задайте путь.

    ошибка загрузки документа

    Появится форма – в ней поставьте птички напротив каждого типа данных и нажмите на «Выгрузить».

    ошибка информации потока в 1с

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

    Актуализировать систему

    Это нужно делать тогда, когда компьютеры в рамках корпоративной сети используют ПО разных версий. Ошибка источника/приемника потока при обновлении 1С решается сразу же. Хотя сегодня она встречается все реже, потому что с 8.3.5 сеансы «более низких» платформ автоматически блокируются. Но если БД запустят на одной машине с софтом редакции 8.3.10 и на другой, с 8.3.4, то расхождения в процессе работы неизбежны. Правда, это тот момент, который не должен допускать, скорее, системный администратор, чем рядовые бухгалтеры.

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

    • отключение в реестре Windows протокола IPv6;
    • переустановка программы с последующей настройкой;
    • полный перенос БД на другой компьютер и запуск ее на том ПК;
    • использование утилиты Tool_1CD;
    • деактивация фаерволла и/или внесение исключений в антивирусную защиту;
    • актуализация конфигурации через cf-файл.

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

    не открывается 1с ошибка формата потока

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

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

    Итог

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

    Количество показов: 13408

    как удалить расширения, если ошибка формата потока

    Я

      

    Stim

    23.04.22 — 18:28

    Добрый день.

    БП 3.0

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

    Все стандартные действия (chdbfl.exe,ТИИ,выгрузка-загрузка) результата не дали.

    ТИИ проходит без проблем, но падает при проверке логической целостности расширений.

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

      

    Фрэнки

    1 — 23.04.22 — 18:46

    А что было перед тем, как база умерла? Какая-то причина была?

      

    Stim

    2 — 23.04.22 — 18:47

    (1) хз

      

    Фрэнки

    3 — 23.04.22 — 18:49

    я к тому, что как бы архив у многих делается ежесуточно

    И перед потенциально опасными действиями тем более делается

      

    Winnie Buh

    4 — 23.04.22 — 18:52

    попробуй запустить конфигуратор с ключом /DeleteCfg -AllExtension

      

    Aleksey

    5 — 23.04.22 — 18:52

    Файловая?

      

    Фрэнки

    6 — 23.04.22 — 18:52

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

    Или искать где-то редактор ЦД файлов и тоже удалить расширения непосредственно из таблиц.

    Но у меня инфы нет ни про скл, ни про цд файл

      

    Aleksey

    7 — 23.04.22 — 18:54

    (6) таблица _ExtensionsInfo

      

    Aleksey

    8 — 23.04.22 — 18:58

    ну и до кучи

    ConfigCAS (системное хранилище конфигураций расширений)

    ConfigCASSave (сохраненное системное хранилище конфигураций расширений),

      

    Garykom

    9 — 23.04.22 — 19:00

    (0) Если размер базы не сильно велик или есть время и приличный комп то выгрузить данные в сервис и загрузить в чистую базу

      

    Фрэнки

    10 — 23.04.22 — 19:02

    (9) конфигуратором?

      

    Stim

    11 — 23.04.22 — 19:55

    (4) пробовал. Ошибка формата потока

    (5) да

    База была базовая БП, в которую закинули типовые расширения БП.

    Обновил до БП проф, результат тот же

      

    Winnie Buh

    12 — 23.04.22 — 20:09

    (11) выкладывай уже базу куда-нибудь, возможного кто и поможет

      

    Stim

    13 — 23.04.22 — 20:11

    (12) не могу, база не моя

      

    Aleksey

    14 — 23.04.22 — 20:23

    (11) если в dt выгружается, то грузи в скуль и грохай таблички

      

    arsik

    15 — 23.04.22 — 21:31

    (14) Зачем есть же Tool 1CD

      

    arsik

    16 — 23.04.22 — 21:36

    (0) Еще попробуй удалить расширение в режиме предприятия.

      

    vde69

    17 — 23.04.22 — 21:47

    можно в hex редакторе найти ExtensionsInfo и заменить байты размера таблицы на 0

    или можно попробовать найти ExtensionsInfo и поменять одну букву на произвольную

    ТОЛЬКО БЕКАП СНАЧАЛО СДЕЛАЙ

      

    Stim

    18 — 23.04.22 — 22:23

    (16) дык не запускается ж в режиме предприятия

      

    Фрэнки

    19 — 23.04.22 — 22:44

    (18) а вообще на какой платформе все эти манипуляции над базовой версией ИБ происходят? Лицензия на проф версию есть?

    А на ПРОФ базу как сделал? Если что-то на проф переделывать, то надо CF загрузкой из файла закатывать.

      

    Stim

    20 — 23.04.22 — 22:46

    (19) базу развернул на своем компе локально. на проф обновил спец обновлением 1С для перехода с базовых

      

    Stim

    21 — 23.04.22 — 22:47

    накатил принудительно младший релиз БП — такая ж хрень

      

    Stim

    22 — 23.04.22 — 22:52

    + накатил поверх КОРП версию — такая ж хрень(

      

    Фрэнки

    23 — 23.04.22 — 23:24

    (20) Скорей всего, что из-за несовпадения платформ. Тот, кто разработал Расширение, не расчитывал, что его будут на базовую ставить и самое главное — версия платформы была выше, скорей всего, чем та, на которой убили базу.

    Ну что с базой можно попробовать сделать уже выше озвучили. Единственно, что номера релизов можно еще попробовать поменять

      

    MWWRuza

    24 — 23.04.22 — 23:31

    (23) А разьве базовая вообще поддерживает расширения, кроме заплаток от самой 1С-? А они-то, точно их под базовую делают и подписывают, что-бы в базовой прижилось…

      

    timurhv

    25 — 24.04.22 — 12:35

    (0) >При любом действии с расширением(в конфигураторе — сохранить в файл, удалить, открыть, сравнить)

    Выгрузить в файлы / загрузить файлы или другое расширение? Версия платформы какая?

      

    vde69

    26 — 24.04.22 — 13:24

    (17) тут правильное решение, просто нужно найти формат таблиц, ссылка была у меня в профиле, и hex редактором поправить 2 байта. Установить в dir блоке талици количество записей в 0.

    После этого 1с будет считать таблицу расширений пустой.

    Делается за 30 минут

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

    Ошибка формата потока 1С 8.3

    В этой статье подробно рассмотрим, почему выдает ошибку формата потока в 1с 8.3 и как ее исправить.

    Ошибка формата потока в 1С: Предприятие — причины возникновения

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

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

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

    Если окно ошибки появляется при загрузке или во время обновления базы, то проблема скорее всего в ней.

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

    Пишет «Ошибка формата потока» в 1С 8.3 при запуске – что делать

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

    1. Выйти из программы и убедиться, что все ее процессы завершены. Сделать это можно из диспетчера задач;
    2. Зайти в папки хранения кэша, расположенные в Windows 7 и выше по следующим путям:
      C:UsersИмя ПользователяAppDataRoaming1C1cv8
      C:Users Имя ПользователяAppDataLocal1C1cv8
      Если папки не отображаются, то необходимо в настройках операционной системы включить отображение скрытых файлов и папок.
    3. Удалить папки формата, как на скриншоте ниже.
      1С - очистка файлов кэша
      Важно! Сделать это нужно из 2 разделов: Roaming и Local.

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

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

    Ошибка формата потока 1С при загрузке базы или обновлении – что делать

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

    Проверка физической целостности БД

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

    1. Перейти по следующему пути:
      C:Program Files1cv88.3… (версия программы)bin
      Путь может отличаться, если программа установлена на другой диск, в другой раздел. Для того, чтобы узнать папку установки можно посмотреть информацию о ее расположении в свойствах ярлыка;
    2. Запустить файл chdbfl (сокращенно от: Check Data Base Files);
      Проверка физической целостности БД 1С
    3. Выбрать путь к базе данных, активировать галочку напротив пункта «Исправлять обнаруженные ошибки» и нажать кнопку «Выполнить».
      Проверка физической целостности файлов БД 1С Предприятие

    Тестирование и исправление информационной базы

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

    1. Запустить конфигуратор;
    2. Нажать на вкладку «Администрирование» в навигационном меню;
    3. Выбрать пункт «Тестирование и исправление»;
      Тестирование и исправление 1С Конфигуратор
    4. Активировать необходимые проверки и режимы, поставить галочку напротив пункта «Тестирование и исправление» и нажать кнопку «Выполнить».
      Тестирование и исправление информационной базы 1С

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

    Выгрузка из неработающей ИБ в новую

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

    1. Запустить конфигуратор;
    2. Открыть вкладку «Администрирование»;
    3. Выбрать пункт «Выгрузить информационную базу»;
      Выгрузка ИБ в 1С
    4. Указать имя dt-файла, в который будет производиться выгрузка и нажать «Сохранить»;
    5. Снова открыть вкладку «Администрирование» и выбрать пункт «Загрузить информационную базу»;
    6. Указать путь к новой базе.

    Выгрузка и загрузка данных XML

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

    Рекомендации

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

      1. Если используется сетевая версия, то нужно проверить, одинаковая ли версия платформы на устройствах пользователей, подключенных к информационной базе. Если нет, то следует всем установить актуальные версии;
      2. Выполнить деактивацию антивирусных программ на ПК, в том числе защиту от вирусов и угроз Windows, а также брандмауэр. Если будет результат, то вновь запустить их, при этом добавив путь к файлам программы в список исключений;
      3. Если проблема с SQL, то нужно удалить журнал базы 1С из папки:
        C:Program Files1cv82srvinfo
      4. Удалить платформу 1С и установить заново.

    Не нашли ответ? Тогда воспользуйтесь формой поиска:

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

    1с ошибка формата потока

    Данное окно входит в ТОП-3 самых распространенных ошибок 1С:Предприятие. Оно неприятно из-за своей не информативности. Непонятно: где, в чем ошибка? Естественной реакцией будет нажатие кнопки «Перезапустить», но с высокой вероятностью можно утверждать, что перезапуск проблему не устранит, и пользователь снова увидит данное окно.

    В этой статье будут объяснены причины возникновения, разновидности и способы устранения «Ошибки формата потока» 1С.

    Почему 1С 8 пишет «Ошибки формата потока»?

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

    Но что произойдет, если файл “кэша” будет записан с ошибкой/ошибками, в результате неправильного завершения сеанса работы, либо скачка напряжения, либо сбоя сети (для клиент-серверного варианта работы 1С)? При следующей попытке обращения к “кэшу” 1С не сможет прочитать файл и появится окно “Ошибка формата потока”. “Битый кэш” является самой частой причиной возникновения этой ошибки.

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

    Виды ошибки формата потока

    Условно ошибку формата потока 1С можно поделить на 2 вида:

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

    В зависимости от вида ошибки можно выбрать наиболее подходящий вариант ее устранения. Но можно использовать и все способы по очереди, пока один из них не сработает. Способы не нанесут вреда вашей базе 1С 8. Впрочем, если действовать как настоящий профессионал — стоит сначала сделать бэкап, а уже потом бороться с “Ошибкой формата потока”.

    Как устранить “Ошибку формата потока”?

    Рассмотрим ТОП способов решения :

    1. Почистить кэш 1С

    Данный способ подробно был рассмотрен в нашей статье “Как очистить Кэш в 1С”. Вкратце напомним. Для удаления файлов кэша вручную необходимо найти папки, где кэш хранится. Для операционных систем Win7 и выше временные файлы хранятся по адресу C:UsersUsernameAppDataRoaming1C и C:UsersUsernameAppDataLocal1C в папках, начинающихся с «1cv8». В Windows XP, в папке пользователя по адресу Local SettingsApplication Data1C. Если папка AppData не видна — настройте видимость скрытых папок. Ниже на рисунке показано, как выглядят файлы кэша – папки с длинными непонятными именами (в нашем случае файл всего один). Для очистки кэша нужно удалить эти папки.

    Важно! Удалять папки можно только тогда, когда завершены процессы работы с 1С:Предприятие.

    очистить ошибку формата потока обновлением кэш

    2. Запустить тестирование и исправление 1С

    В режиме конфигуратора нужно кликнуть по пункту меню “Администрирование” и затем “Тестирование и исправление”.

    конфигуратор ошибка формата потока

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

    ошибка загрузки информационной базы ошибка формата потока

    3. Запуск«chdbfl.exe»

    Если нет возможности зайти в конфигуратор, тогда запустите программу «chdbfl.exe», которая находится: «C:Program Files (x86)1cv88.3……bin». Выберите файл Базы Данных, отметьте галочкой “Исправлять обнаруженные ошибки” и нажмите кнопку “Выполнить”. Дальше система все сделает за вас. Система сама проверит базу, найдет ошибки и исправит их. Во время работы программы «chdbfl.exe» не должно быть активных сеансов работы с 1С.

    при загрузке базы 1с ошибка формата потока

    4. Выгрузить и загрузить информационную базу в .dt

    В режиме конфигуратора выберите пункт меню “Администрирование” и кликните “Выгрузить информационную базу”. После этого выберите место куда хотите сохранить файл базы (.dt), задайте файлу имя и нажмите “Сохранить”.

    ошибка формата потока данных исправление через базу данных

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

    отчет ошибка формата потока5. Выгрузить и загрузить данные XML.

    Данный способ может повлечь потерю данных, поэтому его рекомендуется использовать только опытным пользователям. Способ схож с предыдущим и заключается в том, что сначала база выгружается, (только не в .dt, как в предыдущем способе, а в специальный формат .XML). Затем база загружается обратно. Делается это с помощью встроенной обработки “Выгрузка и загрузка данных XML”.

    платформа 1с предприятие 8.3 ошибка формата потока6.Обновление 1С

    Причиной рассматриваемой ошибки может стать наличие активных сеансов пользователей, работающих в разных версиях платформы 1С. Например, в базе есть активный сеанс пользователя с платформой 1С 8.3.5…., а пытается подключиться другой, с версией 8.3.4…. Если на компьютере установлены несколько версий — убедитесь, что в окне редактирования информационной базы выбрана нужная вам “правильная” версия.

    ошибка формата потока при обновлении7. Другие способы

    В 99% случаев вышеописанные способы борьбы с “Ошибкой формата потока” эффективно сделают свою работу и ошибка “уйдет”. В оставшемся 1% придется применять более сложную диагностику, иногда выходящую за рамки 1С, например: почистить временные файлы компьютера, а не только кэш 1С; проверить жесткий диск на битые сектора при помощи утилиты “chkdsk.exe”; проверить компьютер антивирусом. Можно даже попробовать запустить базу 1С на другом компьютере и таким образом локализовать проблему, убедившись, что ошибка кроется именно в информационной базе, а не в железе и не в Операционной Системе.

    Данная статья создана в помощь столкнувшимся с ошибкой 1С “Ошибка формата потока”, здесь были рассмотрены и объяснены причины ее появления, её условные виды и способы устранения. Ошибка выглядит страшно и непонятно из-за своей неопределенности, но, как видим, устранить данную ошибку по силам каждому. Заключив соглашение о техническом обслуживании 1С, работы по устранению сбоев устраняются в кратчайший срок специалистами ГК «Интегрус».

    миниатюра Ошибка формата потока

    Ошибка формата потока 1С Предприятие — одна из самых распространенных ошибок, возникающих при работе с 1С программами. Из публикации вы узнаете, как исправляется ошибка формата потока 1С Предприятие 8.3 без обращения к администраторам или партнерам 1С, проверенными на практике способами.

    Работаешь в программе 1С, все замечательно, а тут неизвестно из-за чего появилась небольшая форма с уведомлением «Ошибка формата потока» и с вариантами «Завершить работу» в программе или «Перезапустить» программу. Перезапуск, естественно, ни к чему не приводит, ошибка появляется снова…

    Я описал ваш случай? Не огорчайтесь! Вы не первый пользователь 1С у кого эта ошибка появилась, и, уверен, что не последний. За время работы с 1С программами выработался алгоритм исправления этой ошибки, которым я хочу поделиться в этой публикации. Поэтому, читайте и исправляйте эту 1С «занозу»! Итак…

    …из публикации вы узнаете:

    1. Почему возникает ошибка формата потока 1С Предприятие 8.3
    2. Эффективный способ исправить ошибку файловых баз 1С Предприятие 8.3
    3. Стандартные шаги по исправлению ошибки формата потока 1С Предприятие 8.3
    4. Нестандартные способы исправить ошибку формата потока 1С Предприятие 8.3
    5. Ещё пара способов исправить ошибку формата потока 1С Предприятие 8.3

    Ошибка формата потока 1С Предприятие 8.3 — одна из самых распространенных в работе 1С:Предприятие и при этом одна из самых не информативных. Вылетает окошко с сообщением об ошибке и никакой дополнительной информации, что и где сломалось и как починить. Поэтому, исправление ошибки формата потока 1С начнем с вычисления причин появления этой ошибки, что бы лучше знать «врага» в лицо.

    Почему возникает ошибка формата потока 1С Предприятие 8.3

    Что бы выяснить причины появления ошибки формата потока 1С 8.3 необходимо рассмотреть область данных 1С платформы. Тут хотелось бы отметить, что платформа 1С во время работы использует:

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

    Причем, платформа 1С Предприятие использует указанные ресурсы постоянно.

    Монитор ресурсов при работе 1С Предприятие 8

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

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

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

    Эффективный способ исправить ошибку формата потока 1С Предприятие 8.3 для файловых баз данных 1С

    Если вы работая в файловой версии 1С Предприятие, стали жертвой этой напасти, то хочу предложить способ от её избавления, работающий в 78% случаев.

    • Для этого необходимо зайти в каталог, где хранится база данных 1С Предприятие 8.3 и удалить все файлы и папки, КРОМЕ ФАЙЛА ДАННЫХ 1Cv8.CD. Операция требует сноровки, поэтому будьте осторожны, не переборщите с удалением!  🙂

    Путь до каталога базы данных 1С Предприятие 8.3 вы можете посмотреть при запуске программы — он будет расположен внизу окна запуска 1С Предприятие 8.3.

    Ошибка формата потока 1С Предприятие 8.3 - удалить файлы из папки с базой данных

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

    • Если предложенный способ не помог, то для исправления файловых баз в 1С Предприятие 8.3 предусмотрена утилита chdbfl.exe. Проверьте структуру вашей базы, воспользовавшись этой утилитой.

    Ошибка формата потока 1С 8.3 не исчезла? Плохо! Читаем дальше.

    Стандартные шаги по исправлению ошибки формата потока 1С Предприятие 8.3

    Если указанные выше рекомендации не помогли в исправлении ошибки формата потока 1С или если у вас клиент-серверная база данных 1С, то следующими шагами исправления будут стандартные операции, возникающие при любых ошибках:

    • Очистка кеша 1С Предприятие 8.3
    • Тестирование и исправление информационной базы 1С Предприятие 8.3

    На эти темы были написаны подробные публикации, поэтому тут мне добавить нечего. Читайте статьи и делайте всё в точности по написанному.

    Если после проделанных с базой манипуляций «ошибка формата потока» все равно появляется, в этом случае пробуйте ещё один проверенный способ:

    • выгрузите вашу базу с файл *.dt, создайте пустую базу 1С и загрузите в неё выгруженный до этого файл *.dt. В выполнении этой операции вам поможет статья про резервное копирование базы 1С Предприятие 8.3.

    На этом шаге исправить ошибку формата потока 1С Предприятие 8.3 получается в 94% случаев. Но что делать есть не спало???

    Нестандартные способы исправить ошибку формата потока 1С Предприятие 8.3

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

    • Пробуйте загрузить файл *.dt в новой базе данных, созданной на другом компьютере. Этим вы исключите вероятность некорректно работающего железа или программ компьютера, где находится база.
    • Удалите (именно УДАЛИТЕ через Установку и удаление программ) платформу 1С и установите заново, желательно новейшую версию. Исключаем некорректно работающие исполняемые файлы платформы, которые могли быть подпорчены вирусами или «посыпавшимися» секторами жесткого диска или другими способами.
    • Обновите конфигурацию на следующий релиз или загрузите текущую конфигурацию из файла *.cf с полным замещением объектов.
    • Отключите брандмауэр и антивирусы. Существует вероятность, что исполняемый файл был замечен в подозрительной активности антивирусом и помещен в карантин или остался под жестким контролем с блокировкой «опасных» действий. В любом случае — исключаем вариант карантина антивирусов.
    • Удалите временные файлы на компьютере. Они находятся в нескольких местах:
    1. В профиле пользователя, для поиска введите %Temp% в адресной строке проводника.
    2. В папке C:WindowsTemp
    3. Иногда на диске C:Temp
    • Ещё один способ был однажды применен, когда ничто не помогало — создали полный начальный образ базы данных и потом отвязали его от РИБ, сделав независимым. Получили ту же базу, пропустив начальную через механизмы РИБ (как через мясорубку 🙂 ) .

    Ещё пара способов исправить ошибку формата потока 1С Предприятие 8.3

    Есть ещё пара способов с хакерским подходом:

    • загрузить файл *.dt в клиент-серверную базу данных (если база с ошибкой формата потока клиент-серверная, то делаем на ней, предварительно сделав копию) и очистить файл от всех записей в таблице «configsave» через программную консоль.
    • в утилите Tool_1CD есть проверка формата потока. Скачайте эту утилиту и проверяйте поток.

    Описанные в публикации способы исправления ошибки формата потока были проверены на практике — работают!

    Надеюсь, что ничего не забыл. Если вдруг всплывет в памяти что-то ещё, то обязательно дополню публикацию.

    Всем читателям отличного настроения! Пусть ошибка формата потока вас обходит стороной!!!  😉

    Если вам что-то не понятно в вопросе как исправляется ошибка формата потока 1С:Предприятие 8.3, то вы можете задать вопрос в комментариях к статье или на форуме сайта.
    Что бы не потерять статью в просторах интернета — сохраните её к себе в социальные сети или в закладки.

    Содержание:

    1.      Что такое ошибка формата потока данных?

    2.      Причины возникновения ошибки формата потока в конфигурации системы 1С: Предприятие 8.3

    3.      Создание резервной копии информационной базы и очищение кэша базы данных в конфигурации базы 1С 8.3

    4.      Процедура «Тестирование и исправление» в версии конфигурации 1С 8.3

    5.      Использование утилиты chdbfl  

    1.      Что такое ошибка формата потока данных?

    Доброго времени суток! Уважаемый читатель в данной статье будет рассмотрена сущность такого понятия, как «Ошибка формата потока» причины ее появления, а также методы устранения ошибки. Если Вы с ней столкнулись, эта статья специально для Вас!


    Ошибка формата потока

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

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

    2.      Причины возникновения ошибки формата потока в конфигурации системы 1С: Предприятие 8.3

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

    ·        отключение электричества или скачок напряжения в электросети;

    ·        сбой работы компьютерной сети;

    ·        отключение или перезагрузка сервера при открытых сеансах на рабочих станциях.

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

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

    После того как были определены предпосылки появления ошибки, перейдем к ее устранению.  

    3.      Создание резервной копии информационной базы и очищение кэша базы данных в конфигурации базы 1С 8.3

    Создание бэкапа позволит дополнительно обезопасить данные и предотвратить их потерю, если в процессе устранения ошибки они будут повреждены.

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


    Выгрузить информационную базу

    Отлично! Теперь информация базы данных в безопасности и при необходимости ее можно будет восстановить из созданной копии.

    Для этого откройте Проводник, затем скопируйте и вставьте в него приведенные ниже пути (по очереди).

    C:UserskatybAppDataLocal1C1cv8

    C:Users katybAppDataRoaming1C1cv8

    Замените «katyb» на нужного пользователя операционной системы. На экране отобразиться папка, в которой необходимо выделить и удалить все файлы похожие на GUID («Универсально уникальный идентификатор»).


    Имя

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

    C:LocalSettingsApplication Data1C.

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

    4.      Процедура «Тестирование и исправление» в версии конфигурации 1С 8.3

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


    Тестирование и исправление

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


    Проверки и режимы

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

    Если предыдущие методы не оказали нужного эффекта, то можно воспользоваться специализированной утилитой.

    5.      Использование утилиты chdbfl

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

    Расположена данная утилита в папке bin с установленной платформой. Пример пути к утилите: C:Program Files (x86)1cv88.3.20.1838bin


    chdbfl.exe

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


    Проверка физической целостности файла БД

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

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

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

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

    Специалист компании «Кодерлайн»

    Екатерина Баранова

    Борьба с сообщением «Ошибка формата потока» в 1С:Предприятие 8

    шаман 1с

    Шаманы IT — кто они?

    За что мне нравиться 1С:Предприятие 8.1 — с ним не соскучишься. Итак, сегодня мы будем учиться пляскам с бубном. Есть мнение, что бубны сисадминов в этом случаи не годятся. Это не правда, тоже подойдут.

    Когда нужен бубен?

    При работе с 1С:Предприятие 8.1 по некоторым независящим от нас с Вами причинам вы можете столкнуться с сообщением об ошибке «Ошибка формата потока».
    Например это может произойти так: После запуска chdbfl.exe выдал ошибки во внутреннем файле превышена длина кода, потом показал что ошибки исправлены. После этого запустить конфигурацию не удалось, стала выходить ошибка «ошибка формата потока……».

    Самый распространенный ответ-рекомендация: Попробовать перенести базу на другой компьютер и там запустить.

    Звучит загадочно, не правда ли? :)))

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

    Начните с http://www.gilev.ru/disableipv6/

    Частными случаями этой рекомендации можно считать например такие решения:

    • удаление из списка баз и повторное добавление
    • очищение данных из каталога «C:Documents and SettingsпользовательApplication Data1C1Cv81»
    • простое копирование содержимого каталога bin в новый каталог

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

      • Отключите файрволы и антивирусы
        • Например, известны примеры, когда помогало только УДАЛЕНИЕ Eset Smart Security. Просто отключение его ничего не давало. (Примечание. Коллеги предлагают в настройках снять флаг»Включить  фильтрацию  содержимого протоколов уровня приложений». Если фильтрация всё же нужна и отключать ее не хочется, здесь же можно указать, чтобы файрвол фильтровал только «Порты HTTP и POP3». )

    Скриншот настройки

    • Скопировать базу с исходного источника другой флешкой 🙂

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

    • для файловой версии использовать проверку целостности chdbfl.exe
    • тестирование и исправление средствами конфигуратора
    • выгрузка/загрузка конфигурации

    Для ранних версий платформы были характерны механизмы, не контролирующие некорректное хранение данных, поэтому обратите внимание на такие решения как:

    • обновили платформу до последней версии (но не просто обновлением, а удалением старой версии, и затем установкой новой)
    • очистка журнала регистрации
    • в клиент-серверном варианте сообщение «Ошибка формата потока» может возникнуть у клиента, когда одно из приложений из набора 1С:Предприятия, выполняющихся на сервере, не имеет достаточно дискового пространства в разделе /tmp для размещения временных файлов
    • проверить обработкой все метаданным все строковые реквизиты (проверяем наличие и удаляем сивмолы 0x1a & 0xFFFF )

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

    Или в такой ситуации: Если через COMConnector происходит обращение к клиент-серверной базе данных, то возможной причиной ошибки является передача от клиента (COMConnector-а в клиентском приложении) серверу 1С:Предприятия или наоборот значения типа «Строка», содержащего символы с кодами 0x1F или 0xFFFF. Передача может выполняться как через параметры и результат процедур и функций, исполняемых на сервере, так и в том случае, если такие символы содержатся, например, в строковом значении константы.

    Можно также использовать РИБ, если есть возможность создавать планы или они уже есть:

    • выгружать данные с помощью XML

    Или еще бывает так:

    При попытке открыть форму документа «Поступление товаров услуг» происходит ошибка «Ошибка формата потока». Ошибка возникает как в Конфигураторе так и в Предприятии.
    Система работает в файловом режиме. Решение может быть таким: Удалить данную проблемную форму и вставить другую (объединением) и назначить ее основной.

    В некоторых случаях можно исследовать проблему с помощью технологического журнала:

    <?xml version=»1.0″ encoding=»UTF-8″?>
    <config xmlns=»http://v8.1c.ru/v8/tech-log«>
    <dump create=»true» location=»C:Program Files1cv81bindumps» prntscrn=»false» type=»2″/>
    <log history=»96″ location=»C:Program Files1cv81binlogs»>
    <event>
    <eq property=»name» value=»EXCP»/>
    </event>
    <event>
    <eq property=»name» value=»EXCPCNTX»/>
    </event>
    <event>
    <eq property=»name» value=»PROC»/>
    </event>
    <property name=»all»/>
    </log>
    </config>

    Примечание. Для 64х-разрядного сервера приложений каталог отличается от размещения клиента 1С. В этом случаи logcfg.xml нужно размещать в обоих подкаталогах /conf, корректирую пути размещения логов.

    В этом случаи будут формировать логи для клиента 1С в подкаталоге 1cv8_ХХХХ:

    30:02.8131-0,EXCP,1,process=1cv8,Usr=Гилев В.В.,Exception=Exception,Descr=Ошибка формата потока

    • удалить все записи с таблице configsave

    Если ошибка возникает у всех пользователей сразу, то сделайте резервную копию и почистите таблицу delete from configsave

    Помогает для различных субд (и MS SQL Server, и Oracle)

    Воспользуйтесь обработкой «ВыгрузкаЗагрузкаДанныхXML», с диска ИТС.
    Алгоритм спасения простой: выгрузить данные из сбойной базы в файл, затем создать новую пустую базу и вновь, с помощью обработки, загрузить данные из созданного на первом шаге файла.

    Можно также попробовать утилиту Сергея Боровика (http://infostart.ru/public/16741/) и экспортировать конфигурацию (если цель — конфигурация, а не база)…

    • Для работы с 1cd файлом
    • Для работы с dt файлом

    Если проблема при открытии конфигуратора

    Интересно что если найти такой объект в дереве конфигурации можно получить ошибку формата потока без вылета 1С. Хотя, если это html, он может открыться, но при сравнении, при отрытии его объектов, 1С все равно вылетит.
    Т.е. достаточно последовательным открытием всех объектов БД ч/з конфигуратор можно найти такой объект, снять его с поддержки и удалить. Но, это ж надо так любить 1С, чтоб тупо сидеть и открывать каждый объект, клацая мышкой. Увы, я не так трепетно отношусь к 1С :). Я полез в меню конфигуратора и попытался там найти, что-то, что будет открывать объекты, типа как при обновлении или сравнении конфигураций. И нашел!!! Это меню Конфигурация -> Выгрузить файлы конфигурации. Причем там есть форма в которой можно отметить не все а те объекты и разделы, которые тебе надо выгрузить.
    Т.о. выгружая конфу получая ошибку и сужая диапазон отмеченного, я нашел эти злосчастные поврежденные объекты и удалил их. После этого все прошло как по маслу. Все сравнивалось и объединялось. Теперь по поводу танцев с бубнами описываемых на форумах. Из этих описаний следует одно: Ошибка формата потока — это когда объект базы (объект, здесь более широкое понятие, чем в 1С) поврежден, по различным причинам. И если 1С в режиме работы или конфигурации пытается его открыть мы получаем эту ошибку. Причем бывает так, что и конфигуратор невозможно открыть (Т.е. не откравается объекты необходимые при запуске).
    Тогда и спасает внешний файл для тестирования и исправления БД chdbfl.exe, находящийся в папке bin. Бывают повреждаются файлы настроек пользователя 1С в Doc.endSett. Тогда их просто надо удалить с диска. Если повреждены объекты самой конфы, иногда помогает тестирование и исправление ч/з конфигуратор. Но эти два метода тестирования открывают для тестирования не все объекты БД! Важно об этом помнить. Так, уважаемый файл chdbfl.exe, я так понимаю, в основном, позволяет исправить БД, т.о. чтобы ее затем в первую очередь запустить.

    Если ошибка возникает в процессе попытки сравнения/обновления базы — удалите объект, на котором происходит сбой — при объединении с конфой обновления проблемный объект будет заново записан в базу. Ошибка связана с особенностями перехода между платформами, особенно если их релизы выходят довольно часто.

    см. также http://infostart.ru/public/162933/

    в случае когда стандартные отчеты Бухгалтерии 2.0 8.2 при открытии вызывали сообщение об одной и той же ошибке: «Ошибка формата потока». Решение оказалось простым. Для базовой конфигурации потребуется ПК с платформой ПРОФ.

    Решение:

    1. Открываем конфигуратор.

    2. Находим в дереве конфигурации проблемный отчет и сохраняем его командой «Сохранить как внешнюю обработку, отчет…»

    3. Окрываем в конфигураторе сохраненный отчет. Далее — кнопка «Действия» — команда «Открыть модуль объекта».

    4. Находим в тексте процетуру «ПрименитьНастройку()», удаляем всё ее содержимое или преобразуем всё содержимое процедуры в комментарий сочетанием клавиш [Ctrl+Num/], сохраняем внешний отчет.

    5. Запускаем (переключаемся) базу в режиме «Предприятие», открываем наш внешний отчет. Открылся? Закрываем.

    6. Удаляем файл внешнего отчета с диска.

    см. также https://infostart.ru/public/976582/

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

    В этой ветке я высказал идею, как можно проверить применимость расширения на этапе выполнения (runtime).

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

    &После("ПодключитьОповещениеОНовыхДокументахВСервисе")
    Процедура тест_ПодключитьОповещениеОНовыхДокументахВСервисе(Форма, ВидыДокументов, ГруппаФормы, ЛишнийПараметр = Неопределено)
    	// Вставить содержимое метода.
    КонецПроцедуры
    

    Штатная проверка применимости расширения от 1С, разумеется, эту ошибку с количеством параметров не увидела и выдала: Проблем применения не обнаружено.

    При запуске 1С в режиме Предприятия 1С тоже не увидела никаких ошибок, т.к. модуль БизнесСеть не вызывался и, соответственно, не компилировался runtime.

    Теперь открываем консоль кода и вызываем несуществующую процедуру для модуля Бизнес.Сеть:

    Текст кода:

    ИдентификаторФункции = "_" + СтрЗаменить(Новый УникальныйИдентификатор(), "-", ""); 
    Выполнить("БизнесСеть." + ИдентификаторФункции + "()");
    
    

    Будет выдана ошибка, т.к. метод модуля не существует.

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

    В окне О программе — Информация для технической поддержки
    В журнале регистрации скудно — нет деталей ошибки применения.

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

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

    <?php // Полная загрузка сервисных книжек, создан 2023-01-05 12:44:55
    

    global $wpdb2;
    global $failure;
    global $file_hist;

    /////  echo '<H2><b>Старт загрузки</b></H2><br>';

    $failure=FALSE;
    //подключаемся к базе
    $wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
    // если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
    if (!empty($wpdb2->error))
    {
    /////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
    $failure=TRUE;
    wp_die( $wpdb2->error );
    }

    $m_size_file=0;
    $m_mtime_file=0;
    $m_comment='';
    /////проверка существования файлов выгрузки из 1С
    ////файл выгрузки сервисных книжек
    $file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
    if (!file_exists($file_hist))
    {
    /////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
    $m_comment='Файл обмена с сервисными книжками не существует';
    $failure=TRUE;
    }

    /////инициируем таблицу лога
    /////если не существует файла то возврат и ничего не делаем
    if ($failure){
    ///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
    /////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
    $insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
    wp_die();
    /////    echo '<H2><b>Возврат в начало.</b></H2><br>';
    return $failure;
    }
    /////проверка лога загрузки, что бы не загружать тоже самое
    $masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
    $m_size_file=$masiv_data_file[7];    ////получаем размер файла
    $m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
    ////создаем запрос на получение последней удачной загрузки
    ////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

    /////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
    /////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
    /////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
    ////препарируем запрос
    $text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
    $results=$wpdb2->get_results($text_zaprosa);

    if ($results)
    {   foreach ( $results as $r)
    {
    ////если штамп времени и размер файла совпадают, возврат
    if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
    {////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
    $insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
    wp_die();
    return $failure;
    }
    }
    }
    ////если данные новые, пишем в лог запись о начале загрузки
    /////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
    $insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

    ////очищаем таблицу
    $clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
    $clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
    $results=$wpdb2->query($clear_tbl_zap_repl);
    /////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
    if (empty($results))
    {
    /////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
    //// если очистка не удалась, возврат
    $failure=TRUE;
    wp_die();
    return $failure;
    }

    ////загружаем данные
    $table='vin_history';         // Имя таблицы для импорта
    //$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
    $delim=';';          // Разделитель полей в CSV файле
    $enclosed='"';      // Кавычки для содержимого полей
    $escaped='

    Related Posts

    • Восстановление последовательности документов при закрытии месяца в Бухгалтерия 3.0 не завершается
    • Заполнение табличных частейЗаполнение табличных частей
    • Формирование сводных актов выполненных работ
    • Ввод поступления в переработку на основании передачи сырья (между организациями)
    • Конспект по установке сервера 1С на linuxКонспект по установке сервера 1С на linux
    • Получение имени компьютера и его IP локально и в терминале

    3 Comments

    1. Кажется, что проще запустить АПК с настройкой проверки расширений конфигурации.

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

      Функционал доступен начиная с версии 1.2.1 https://dl03.1c.ru/content/ACC/1_2_1_53/news.htm

      Reply

    2. ну… кому как

      мне, например, не удобно устанавливать ее и настраивать у 20 клиентов для проверки после каждого обновления

      Reply

    3. (1) Забавно, но Шиндоус ее определяет как вирус)

      Reply

    Leave a Comment

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Привет, Хабр!

    Меня зовут Игорь Левин. Я разработчик 1С в Sportmaster Lab. Наша команда работает над проектом Shipdocs 2.0 — это продукт, который состоит из двух информационных систем. Он обеспечивает информационную поддержку бизнес-области закупок и цепей поставок. Часто мы автоматизируем кроссфункциональные бизнес-процессы на стыке с международной логистикой и финансовым управлением.

    Вот ключевые функции Shipdocs 2.0:

    • автоматическое создание отгрузочных документов, необходимых для прохождения товаром таможни,

    • согласование документов внутри подразделений компаний СМ,

    • проверка и согласование заявок на перевозку (букирование перевозок у экспедитора),

    • различная оперативная отчетность.

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

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

    Управление информационных сервисов (УИС) «Спортмастер» насчитывает 1,5 тысячи сотрудников, которые поддерживают около 200 информационных систем. В управление входит департамент QA. Центр компетенции департамента QA выделяет пять типов автотестов: 

    • юнит-тесты

    • интеграционные тесты

    • скрин тесты

    • end-to-end тесты

    • Health-тесты

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

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

    Интеграционное тестирование — тестирование взаимодействия и связей нескольких компонентов приложения. 

    Интеграционное тестирование разделяется на следующие виды: 

    • Компонентные тесты

    • API-тесты

    • Тесты внешних связей 

    Screen-тестирование (Layout-тестирование) — автоматизированное визуальное тестирование элементов пользовательского интерфейса. 

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

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

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

    Выбор пути

    После осознания того, что мы хотим тестировать, перед нами встал классический вопрос: To be, or not to be? реализовать свое решение или взять уже имеющееся на рынке? 

    Очевидные плюсы готового продукта — не нужна разработка, есть обширный функционал. Из минусов — нужно разбираться с этой функциональностью, кастомизировать, не исключая шанс, что на все 100% настроить его под себя не получится. Есть риск, что его перестанут поддерживать. Кроме того, часто функционал обширен, а тебе нужно всего 10% от него. 

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

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

    Обсуждая, архитектуру хранения нашего механизма для автотестов, мы выбирали между вариантами: 

    • подсистема в рамках основной конфигурации, 

    • набор внешних обработок,

    • расширение.

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

    Если рассматривать внешние обработки, то здесь те же самые обвязки, тот же экспорт, но к ним еще добавляется проблема хранения истории изменения наборов обработок. Можно, конечно, Git подключить, но зачем, если можно этого не делать. Или сделать, но на более поздних этапах для code-review и SonarQube. 

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

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

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

    Тестовый и рабочий контуры

    Чтобы наглядно показать, да и самим не забыть, как устроена схема разработки в нашем подразделении, я набросал небольшую схему тестового контура: 

    Разработчик на своей базе пишет код, тестирует его, там же может запустить автотесты. Завершив отладку и предварительное тестирование, он кладет основной код в хранилище разработки, а код автотестов — в хранилище расширения автотестов. Далее при передаче кода в code-review происходит автопронос его на тестовую БД. Тестировщик, осуществляющий ручное тестирование, проводит тестирование на тестовой БД. 

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

    Вот как выглядит рабочий контур:

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

    Описание механизма

    Это основная обработка по запуску автотестов. Из интересного здесь — дерево тестов. На верхнем уровне тип теста — интеграционный или юнит. Уровнем ниже следуют типы объектов: справочники, документы и регистры. А на последнем уровне находятся сами имена тестов. 

    Поскольку мы начинали автоматизацию с интеграционных тестов, уместным показалось хранить эти тесты пообъектно. 

    Вот схема работы обработки по запуску автотестов.

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

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

    Перейдем к составным частям расширения.

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

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

    1. ВернутьСписокАвтотестов() – возвращает список автотестов текущего объекта

    2. ВернутьНастройкиТеста() – возвращает параметры текущего автотеста

    3. ЮТ_ПолучитьДанныеОракля() – перехватывает обращение к Oracle и подменяет данные своими из макета, при необходимости сверяет структуры

    4. ЮТ_СозданиеИзменениеПрошлоКорректно() – проверяет корректность записи данных в БД

    Перейдем к самим тестам. 

    Интеграционные тесты

    Наши основные интеграции:

    • БД Источник 🡪 Наша ИБ (загрузка данных из Oracle)

    • Наша ИБ 🡪 БД приемник (выгрузка данных в Oracle)

    • soap, rest 🡪 Наша ИБ

    • Наша ИБ 🡪 soap, rest

    Начали мы с тестирования интеграции: 

    БД Источник 🡪 Наша ИБ (загрузка данных из Oracle)

    Цели тестирования были следующие:

    • Тестирование собственного кода без привлечения второй стороны (среда разработки)

    • Тестирование перед релизом доступности источника и соответствия его структуры контракту (рабочая среда)

    Теперь подробнее о достижении этих целей:

    Тестирование загрузки из Oracle без соединения

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

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

    В коде это выглядит вот так:

    Тест передает управление механизму загрузки:

    Расширение перехватывает управление в момент вызова процедуры/функции получения данных из Oracle и формирует нужную структуру в базе данных из mxl-расширения:

    Механизм загрузки отрабатывает на данных, сформированных расширением, возвращает результат в виде флага успех/провал + строку ошибок, если есть:

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

    Тест передает результаты выполнения сравнения:

    Тестирование структуры загрузки

    Тест создает соединение с Oracle в самом начале и передает его в механизм загрузки. Соответственно, механизм загрузки обращается к базе и получает из нее структуру. Сверяем эту структуру с эталонной и возвращаем результат в обработку по запуску.

    Тест создает соединение с источником загрузки данных и передает управление механизму загрузки:

    Механизм загрузки выполняет обращение к Oracle:

    Расширение перехватывает управление в момент после вызова процедуры/функции получения данных из Oracle, формирует нужную структуру в базе данных из mxl-расширения. Сверяет структуру данных из источника и из расширения (количество колонок и их имена):

    Функция проверки на соответствие структур:

    Тест передает по эстафете результаты выполнения загрузки:

    По мере развития нашей базы, загрузив все, что можно, и обработав это, мы стали генерить что-то свое. Теперь нам нужно было тестировать еще и выгрузку. То есть пришло время тестирования Наша ИБ 🡪 БД приемник (выгрузка данных в Oracle)

    Цели тут оказались аналогичные:

    • Тестирование собственного кода без привлечения второй стороны (среда разработки) 

    • Тестирование перед релизом доступности приемника и соответствия его структуры контракту (рабочая среда)

    Тестирование выгрузки в Oracle

    То, что необходимо выгрузить, мы собираем при помощи планов обмена, добавляем туда стандартными средствами 1С. Тест помещает в план обмена нужные объекты, ненужные оттуда вычищает и передает управление механизму выгрузки. Он генерирует пакеты для того, чтобы положить в Oracle, но в этот момент идет перехват расширением и происходит сверка сформированного к выгрузке пакета с эталонными данными. Результаты мы возвращаем через тест в обработку запуска тестов.

    Тестирование структуры, выгружаемой в Oracle

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

    Юнит-тесты

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

    Одним из таких тестов стал тест на формирование документа «Упаковочный лист». «Упаковочный лист» — это документ с тремя табличными частями. 

    Табличные части зависят одна от другой в прямом и обратном направлении, поэтому тестировать изменения достаточно сложно.

    Что мы сделали:

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

    Как происходит запуск автотестов

    Наши админы написали скрипт powershell, который:

    1. Обновляет основную конфигурацию из основного хранилища конфигурации;

    2. Обновляет расширение из хранилища расширения;

    3. Обновляет конфигурацию БД и помещает последнюю версию расширения в ИБ;

    4. Запускает «1С Предприятие» под определенным пользователем и обработку по запуску автотеста;

    5. Выполняет рассылку с результатами

    Как проверить доработку на возможность применения в сервисе 1С:ФРЕШ

    Иногда для эффективной работы в 1С:ФРЕШ возникает потребность доработать программу. Разработчики сервиса позволяют это делать при помощи двух механизмов:

    • внешние обработки / отчеты
    • расширения

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

    Проверить расширение можно в личном кабинете 1С:Фреш

    • Необходимо зайти в раздел Адаптация

    Раздел Адаптация

    • Выбрать вид доработки (расширение или дополнительный отчет / обработка) и нажать на кнопку Загрузить и проверить.

    Загрузка и проверка доработки в сервис

    В данном случае сервис сразу сообщает нам о том, что обработка аудит не пройдет, показывает ошибки и дает рекомендации по подготовке доработок в сервисе 1С:ФРЕШ.

    Эту информацию следует показать вашему программисту или заказать исправление у партнеров 1С (например, это можем быть мы =)

    К сожалению, такая проверка — это только 1-й этап подключения разработки, если ошибок в предварительной проверке не выявлено, то разработка отправляется на аудит где ее проверяют вручную специалисты сервиса 1С:ФРЕШ.

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

    • обучим работе
    • настроим программы
    • допишем новые функции
    • будем регулярно обновлять программы
      и консультировать по вопросам учета

    Решим проблему точечно
    или возьмем на постоянное обслуживание


    Давайте обсудим

    Автор статьи

    Сергей Мордвин

    Сергей Мордвин

    Руководитель отдела корпоративных внедрений, Главный по 1С, преподаватель 1С:УНФ, специалист-консультант

    Кейсы


    Посмотрите другие полезные материалы по работе в 1С:Фреш

    Как добавить внешнюю обработку/отчет/ расширение в свою базу 1С:ФРЕШ

    1 июля 2020

    FAQ. Частые вопросы про дополнительные разработки для 1С:ФРЕШ

    23 января 2020

    Добавление функциональности для приложений сервиса 1С:ФРЕШ при помощи расширений

    19 сентября 2018


    А если Вас заинтересовало обслуживание 1С:Фреш, то посмотрите наши тарифы

    Обслуживание облачной 1С:Фреш

    Облачная 1С — это свобода!
    Работайте в 1С в любом месте, где есть интернет


    Отзывы
    • Prev
    • Next
    • Отзыв от бухгалтера — фрилансера

      Отзыв от бухгалтера — фрилансера

      Snap 2017-03-22 at 11.20.29.png

      Подробнее

    • Отзыв о работе во Фреше

      Отзыв о работе во Фреше

      Шевцова Екатерина

      Уважаемые коллеги, начинающие бухгалтера и все люди 

      каким-либо

       образом причастные к бухгалтерскому ремеслу, очень хочу поделиться своими впечатлениями о работе в сервисе 1С:ФРЕШ!!! Используя предоставленную возможность бесплатного месяца работы в облачном сервисе, я действительно, плавала в облаках на седьмом небе от счастья!!! Работа без оглядки на обновления базы, уверенность в правильности формирования налоговой отчетности, помощь грамотных сотрудников компании очень помогает и поддерживает, отлаженный сервис постоянно подсказывает и дает ответы на часто задаваемые вопросы рядового бухгалтера. В результате, наш труд наполняется радостью исполнения!!! Взвесив все расходы ведения бухгалтерского учета МЫ решили перейти на платный тариф. Присоединяйтесь!!! Задачи могут быть сложными, а решения должны быть простыми… Огромное спасибо компании «ПРОСТЫЕ РЕШЕНИЯ», удачи Вам и процветания!!!

      Подробнее


    Понравилась статья? Поделить с друзьями:
  • Проверка рам на ошибки
  • Проверка раздела на ошибки linux
  • Проверка работы программы выявление ошибок
  • Проверка работы ноутбука программа исправление ошибок
  • Проверка процессора на ошибки intel