Теория поиска ошибок :)

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

Разработка - Математика и алгоритмы

121
Соображения о поисках ошибок

Теория поиска ошибок :)

 

Преамбула

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

 

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

 

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

 

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

 

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

 

1.     А был ли мальчик?

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

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

 

2.     Разделяй и властвуй

Ошибка есть (увидели, убедились, поверили). Она стабильная (повторяется из раза в раз). Теперь мы пытаемся ее «упростить». В разных ситуациях делаем по разному, но суть одна – уменьшить пространство поиска.

 

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

 

2.2 Другой пример при обмене данными через WEB-сервер в конечную программу попадают неправильные данные. Тут режем по алгоритму:

  1. Запрос формируется в исходной базе
  2. Данные перегоняются по сетке в базу приемник
  3. База приемник получает данные и записывает их

 

Считаем что каждый этап «Черный ящик» со своим входом и выходом. Вот и проверяем эти входы и выходы (в последовательности кому как нравится).

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

 

2.3 Если у нас сложный многотабличный запрос – беспощадно его режем. Любой самый сложный запрос всегда состоит из конечного количества маленьких и легких запросиков, которые очень легко анализировать. Убедившись, что отдельные запросики возвращают «правильные» данные, начинаем потихонечку их склеивать в большой и сложный (аккуратно, поочередно), и каждый раз смотрим – правильный ли результат мы получаем.

 

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

  • пользовательском режиме у конфигурации должна стоять опция «Параметры / Системные / Отладка разрешена».
  • запустить ту же самую конфигурацию в режиме конфигурирования и через «Отладка / Подключение» подключится к нужному пользовательскому сеансу.

 

Отдельно скажу, что для отладки процедур выполняемых на  сервере необходимо запустить сервер с параметром  «-debug».

 

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

 

Не думаю, что нужно расписывать все возможности отладчика, поскольку в руководствах пользователя и прочей «официальной литературе» это сделано куда как лучше :)

 

Наверно, бывают ситуации, когда отладчиком пользоваться невозможно. Тогда предлагаю менять код (только всегда предварительно делайте копии). Используйте сообщения, запись в какие-нибудь регистры, файлы. Да и просто убирайте куски кода. Благо мы не врачи – мы можем себе позволить отрезать «руку» и посмотреть «не перестанет ли болеть голова».

 

В общем, главное локализовать ошибку (упростить ее).

 

3. Спасение утопающих

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

  • в синтакс-помощнике (среди описания операторов)
  • в пресловутых «желтых книгах»
  • в других конфигурациях (по принципу «как там так и у меня должно быть»)
  • в интернете.

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

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

 Если уж вы отчаялись и решили спросить, то вопрос должен быть информативным. Бессмысленно спрашивать «Почему у меня в СКД не выводится группировка?». Поясните, что из себя представляет схема, какая группировка у вас не выводится. Если программа выдает ошибку – напишите какую ошибку (прямо тот текст, который выдает программа). Ясно формулируйте, что у вас есть и что вы хотите. Чем понятней будет вопрос – тем больше шансов, что на него будет адекватный ответ. Но тут нужно чувствовать меру: вряд ли кто-то будет читать сообщение, состоящее из 1000 строк с описанием всей ситуации «от сотворения мира».

Вопрос должен быть кратким (читаемым) и конкретным, а иначе получится просто заспаменную тему с ехидными замечаниями «о жизни».

 

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

 

А тем кто отвечает очень хочется напомнить фразу «Мы все одинаково невежественные, но в разных областях» (Феликс Райчак не помню автора). Если спрашивают – это не значит что тот кто спрашивает глупее, он может быть просто менее опытный в этом вопросе. Хорошо что он пытается учится, и мерзко его за это гнобить. Если не можешь ответить по теме (более чем пустой фразой «гугл найдет все») – лучше промолчать.

 

Заключение.

Много букв получилось (расчувствовался :) ). Не оригинально, достаточно банально и очевидно. Даже, немного стыдно публиковать :) Но как ни странно очень часто сталкиваешься с тем, что эти всем известные истины люди упорно игнорируют.

Или я в чем-то ошибаюсь?

 

ЗЫ. Если текст бесполезный – можно снять публикацию. Во вложении, тот же текст но виде файла WORD (на всякий случай)

ЗЫЗЫ. Исправил обнаруженые ошибки

121

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

Наименование Файл Версия Размер
Сатья в виде файла
.docx 22,33Kb
14.12.12
27
.docx 22,33Kb 27 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Infector 142 14.12.12 14:45 Сейчас в теме
Дополню с вашего позволения п.1 касательно платформы 8.2

Полезно выяснить так же наблюдается ли ошибка у пользователя, если тоже самое действие выполняется на другой станции, если нет, то вычищаем содержимое папок в профиле пользователя Windows "Application Data\1C\1C82" и "Local settings\1C\1C82" и с 90% вероятностью побеждаем ошибку.

Если ошибка не зависит от того где пользователь выполняет проблемное действие, то выясняем наблюдается ли она у других пользователей с такими же правами. Если нет, то скорее всего спасет создание для пользователя другой учетной записи. Если да, проверяем тоже самое действие, но с полными правами. Все равно не проходит - у нас действительно ошибка, получилось с полными правами - ищем куда программа завела пользователя и расставляем недостающие права доступа.
Созинов; sheff161; SeiOkami; Zerkon; +4 Ответить
2. Бубузяка 62 14.12.12 14:55 Сейчас в теме
(плюсанул) Доступный язык изложения, четкий алгоритм действий. Начинающим разработчика в печать и на стену.
52. meier8th 05.05.14 13:58 Сейчас в теме
(2) Бубузяка, так и сделаю)))
3. delwish 14.12.12 15:02 Сейчас в теме
В общем, прежде чем обратиться за помощью, до последнего старайтесь решить ошибку сами.

Не всегда правильно. Если выгоднее обратиться за помощью(деньги/время <-> время/деньги), то очевидно это надо делать. Хотя могут быть и исключения. Обучение например.
4. Ягг 492 14.12.12 15:05 Сейчас в теме
(3) delwish, ну конечно все относительно и упирается в ресурсы (поэтому и написал "до последнего", т.е. пока обстаятельства позволяют) :)

Опять же, иногда приходится вообще не искать причину ошибки (нет времени) а просто поставить "костыль". Все зависит от ситуации
5. Ibrogim 1109 14.12.12 15:16 Сейчас в теме
(0) Я бы ещё добавил "Убедиться, что ошибка связанна с текущей базой"
Пример: Стали удалятся товары с сайта. Вскрытие не дало результатов (как и гугление и логирование и т.д.). Выяснилось (случайно), что имеется на сервере тестовая база (копия рабочей) с пустыми товарами, из которой запускается регламентное задание обмена с сайтом.
6. AlexO 127 14.12.12 15:24 Сейчас в теме
(5) Ibrogim,
вы там это... посмотрите, может она (тестовая) сама и напродавала уже чего :)
OStepanych; Natashika; +2 Ответить
7. AlexO 127 14.12.12 15:32 Сейчас в теме
При ее решении исходим из того, что в 99.9% это ошибка разработчика конфигурации, а не платформы

наверное, правильнее так:
При ее решении исходим из того, что
- ошибки платформы можно во внимание не брать вообще - если они и есть, они зафиксированы и всегда можно этот список освежить (берем во внимание более-менее стабильную по сравнению с другими 8.1; 8.2 - если только с натяжкой, и вообще не рассматриваем не-пойми-какую 8.3).
- в 80% это ошибка доработчика конфигурации, а не разработчиков типовых (я бы написал 95% - но, судя сколько ошибок регистрируется, их море разливанное в типовых :) ; однако, не все сталкиваются с ними, и они не все сразу мешают работаь)..
- есть 5% плавающих ошибок (типа использования "мутабельных" значений илип "в данной транзакции уже происходили ошибки"), которые в 1С зафиксировать в принципе невозможно или крайне сложно (проще заглушку поставить).
8. kazkaz 14.12.12 15:34 Сейчас в теме
Я позволю себе немного побрюзжать в стиле граммар-наци.
Если уж речь идет о золотом сечении, то пропорции там явно не 1 к 1.
Приведенный метод поиска ошибка в ОСВ - дихотомия.
Но это досадное обстоятельство нисколько не преуменьшает ценность статьи.
9. Ягг 492 14.12.12 15:37 Сейчас в теме
(8) kazkaz, согласен, может ошибся в названии :)
10. AlexO 127 14.12.12 15:40 Сейчас в теме
(9)
это опять вы вместо "плюсика" в спам мое сообщение отослали? :)
11. KroVladS 14.12.12 15:56 Сейчас в теме
(Не поверите, но ситуацию всегда можно ухудшить).

Верю, даже очень.
12. babys 83 14.12.12 16:42 Сейчас в теме
что их не еще не нашли
вот вам и пример :)
13. Ягг 492 14.12.12 18:25 Сейчас в теме
(12) babys, да, виноват :) Но глаз уже "намылился" - не замечаю. Подкоплю немного ошибок - потом все сразу исправлю :)
14. Zerkon 95 17.12.12 09:28 Сейчас в теме
В общем, главное любым способом увидеть эту ошибку своими глазами, или свято поверить, что она есть.


Один из самых главных принципов, как я считаю. К сожалению, пользователям зачастую не хватает умения внятно, четко и конкретно изложить проблему. Хорошо, если ошибка элементарная, типа "комп не включен" или часто встречающаяся. Ее легко узнать по симптомам. А в более сложных случаях надо начинать с того, чтобы самому воочию увидеть ошибку. И зафиксировать способ ее воспроизведения.
Хотя, многое зависит от опыта )) Чем он выше, тем быстрее мы способны решать проблемы, так как в голове уже есть список т.н. "узких мест", где может быть ошибка.
48. Bazyon 05.01.13 00:04 Сейчас в теме
(14) Zerkon,
Хотел поставить минус. Не дали. Ну и ладно.
К сожалению, это не "пользователям зачастую не хватает умения внятно, четко и конкретно изложить проблему".
В моей практике гораздо чаще встречалась ситуация, что "программист" не в состаянии ничего понимать окромя оператора "if". Ну, понятно, что виноват не он а "тупой пользователь", который этого оператора не знает.
-------------
Из моей практики: до 50% ошибок таковыми не являются, а обусловлены крайне низкой квалификацией внедренца в области внедрения и просто низкой квалификацией пользователя. Ни тот, ни другой, не имеют представления, что и почему делает конфигурация.
(а разработчики типовых конфигураций у 1с, как показала практика, очень любят следовать "букве законодательства")
50. Zerkon 95 16.01.13 08:42 Сейчас в теме
(48) Bazyon,
Все зависит от точки зрения )) Я сужу со своей, что, в приницпе, достаточно логично. Заметьте, я ни слова не сказал о низкой квалификации пользователей. У человека может быть огромный опыт практической работы и он может решать большую часть проблем сам. Но, столкнувшись с проблемой, он может не суметь ее четко изложить. Хотя да, с ростом опыта использования программы (в которой случилась ошибка) такое явление обычно сходит на нет.
Хотел поставить минус. Не дали. Ну и ладно.
К сожалению, это не "пользователям зачастую не хватает умения внятно, четко и конкретно изложить проблему".
В моей практике гораздо чаще встречалась ситуация, что "программист" не в состаянии ничего понимать окромя оператора "if". Ну, понятно, что виноват не он а "тупой пользователь", который этого оператора не знает.

Исходя из этого, мне стоит беспокоиться, что Вы считаете мою квалификацию крайне низкой? )
Кстати, здесь
Из моей практики: до 50% ошибок таковыми не являются, а обусловлены крайне низкой квалификацией внедренца в области внедрения и просто низкой квалификацией пользователя

Вы сами себе противоречите. Ошибка она ошибка и есть. Просто причины ее крайне разные.
15. Модератор раздела artbear 17.12.12 10:42 Сейчас в теме
Неплохая статья для начинающих.
>>Берим период год, видим ошибку. Начинаем уменьшать период, к примеру, по методу золотого сечения (режем пополам и смотрим есть ли ошибка). Берем первое полугодие и смотрим, есть ли ошибка. Если нет, значит ошибка во втором полугодии (проверяем это). Потом второе полугодие делим на квартала и т.д. и т.п. – старый проверенный способ.
======
Метод бинарного деления по-другому нужно Использовать.
Если есть ошибка за год и в первом полугодии ошибки нет, второе полугодие не нужно проверять, и так понятно, что ошибка в нем.
Нужно СРАЗУ проверять один из кварталов 2-го полугодия.
Вот в этом случае поиск наиболее эффективен.
Еще с института пользуюсь этим методом.
16. Ягг 492 17.12.12 11:00 Сейчас в теме
(15) artbear, да, наверно так рациональнее. Но просто подумалось о неких "комбинированных" ошибках (конечно не случай ОСВ), когда предположим отсекая "первую половину кода", у нас пропадает ошибка и во второй части кода. А тогда можно потратить очень много времени на поиск того, чего уже нет.
25. AnryMc 720 19.12.12 11:01 Сейчас в теме
(15) artbear,

Метод бинарного деления по-другому нужно Использовать


В народе: "Квадратно-гнездовой метод"
49. Bazyon 05.01.13 00:09 Сейчас в теме
(15) artbear,
Ага. А потом выясняется, что у вас 7.7; слетели индексные файлы; и бинарные итоги по каждому полугодию идут, а сбой в непереданных из одного квартала в другой остатках.
Нет.
Автор прав.
Прежде чем резать второе полугодие, убедитесь, что ошибка внутри него, а не на границе с одним из первых.
Такое, к сожалению, тоже случается.
-------------------------------
Статья немного сумбурная, но в качестве черновика инструкции подойдёт.
17. OVladius 32 17.12.12 13:00 Сейчас в теме
Статья отличная. Иногда было такое что я пол дня искал решение ошибки которую нашел один пользователь, потом как оказалось ошибки и не было.
Автор а почему у тебя везде слово "Неправильно" пишется "Не правильно"? Тема про ошибки с ошибками :D
18. Ягг 492 17.12.12 13:03 Сейчас в теме
(17) OVladius, Если честно WORD не ругается, а я ему верил :)
По этому поводу я уже винился - вот и решил подкапить ошибки, потом сразу все исправить :)
19. iceflash 4 17.12.12 15:29 Сейчас в теме
Только что было просмотров - 404 =) символично=)
20. Yashazz 2854 18.12.12 19:42 Сейчас в теме
Такие вещи становятся очевидны, только когда все шишки собраны собственным темечком, а все минные поля проползены собственным брюхом. А для новичков - что ж, если кому поможет, будет здорово, но опыт моих наблюдений говорит, что хоть новичку в рамочку такие дела напиши и перед носом повесь, а всё одно игнорирует. Авось не у всех так...

Хорошая статья, спасибо.
Михаська; 1cmax; +2 Ответить
21. 1cmax 151 19.12.12 02:32 Сейчас в теме
(20) Yashazz, Именно, читаешь и видишь, что каждый разумный программист доходит до этого в основном сам
22. Ягг 492 19.12.12 07:09 Сейчас в теме
(21) 1cmax, если честно, я вообще сомневаюсь что можно учится на чужих ошибках (хотя пытаться стоит).

Хорошо, если хоть на своих получается
27. 1cmax 151 19.12.12 14:39 Сейчас в теме
(22) Можно, например, читая Инфостарт ))
qwerty1973; +1 Ответить
29. Збянтэжаны Саўка 241 22.12.12 18:11 Сейчас в теме
(22) ну да, и на своих ошибках учится можно, конечно, но, смотря чему )
свои ошибки у всех бывают в разном количестве )
а поначалу при обучении можно ведь завернуть и не за тот угол ... )
23. catena 100 19.12.12 10:16 Сейчас в теме
вопрос должен быть информативным. Бессмысленно спрашивать «Почему у меня в СКД не выводится группировка?». Поясните, что из себя представляет схема, какая группировка у вас не выводится. Если программа выдает ошибку – напишите какую ошибку (прямо тот текст, который выдает программа). Ясно формулируйте, что у вас есть и что вы хотите. Чем понятней будет вопрос – тем больше шансов, что на него будет адекватный ответ. Но тут нужно чувствовать меру: вряд ли кто-то будет читать сообщение, состоящее из 1000 строк с описанием всей ситуации «от сотворения мира».

Вот это не помешало бы втолковать и пользователям.
24. AnryMc 720 19.12.12 10:58 Сейчас в теме
(0) Очень мне нравиться фраза:

Ученого ценят за удачи, а инженера за отсутствие неудач

К сожалению автора не помню (возможно, Гурам Панджикидзе)

Что совсем не согласуется с вашим 1-м абзацем.
26. Ягг 492 19.12.12 11:04 Сейчас в теме
(24) AnryMc, по моему ошибка это еше не неудача. Вот если ошибку не можешь исправить - вот это уже неудача :)

Опять же: если панически бояться ошибок, просто остановишся в развитии.
Natashika; V.Nikonov; Збянтэжаны Саўка; +3 Ответить
28. Программулькин 286 21.12.12 03:21 Сейчас в теме
норм..ко всему этому сам дошел... интуитивно это понимал и осознавал.. а ты вот взял и по полочкам всё разложил и разжевал.+
30. Boudybuilder 60 24.12.12 04:00 Сейчас в теме
Хорошая статья! Автору респект.
31. e-ilyich 11 24.12.12 06:41 Сейчас в теме
32. DrAku1a 1301 24.12.12 09:51 Сейчас в теме
(0)
«Мы все одинаково невежественные, но в разных областях» (не помню автора)

Феликс Райчак "Все мы невежды, но в разных специальностях.", источник (найден через яндекс-поиск).

не возможно

Насколько я знаю, "невозможно" пишется слитно. раздельно пишется "Не представляется возможным".
33. Ягг 492 24.12.12 10:09 Сейчас в теме
34. DrAku1a 1301 24.12.12 10:20 Сейчас в теме
Текст вовсе не бесполезен. Наоборот - это азы, которые надо знать!
Еще один момент:
к примеру, по методу золотого сечения (режем пополам и смотрим есть ли ошибка)

Тут Вы путаете понятия "Золотое сечение" и "Дихотомия".
К слову, описанный алгоритм разделения - это по сути дедуктивный метод Шерлока Холмса.
35. V.Nikonov 119 24.12.12 18:55 Сейчас в теме
Вообще-то, задача локализации ошибки не всегда решается фиксацией времени ошибки.
Ошибки то разные бывают!
Есть варианты локализации по номенклатуре... Например при анализе прибыльности.
Возможно в некоторых случаях удобнее будет локализовать по Контрагентам, Организациям и т.д.
Главное, что бы с минимумом трудозатрат вычислить место появления!
38. Ягг 492 25.12.12 07:14 Сейчас в теме
(35) V.Nikonov, конечно не только во время все упирается - это я как пример приводил.
39. V.Nikonov 119 25.12.12 09:32 Сейчас в теме
(38) Я думаю, что с учетом обсуждения (и замечаний), есть смысл опубликовать новую редакцию...?
40. Ягг 492 25.12.12 09:43 Сейчас в теме
(39) V.Nikonov, ошибки и замечания я исправил.
Описать все случаи и нюансы - это будут "тома", и, опять же, для этого есть комментарии. Возможно, какие-то отдельные моменты требуют отдельных статей (если это будет интересно). Я, думаю, оставлю пока как есть - основные мысли донесены, и уже хорошо. :)
42. V.Nikonov 119 25.12.12 09:56 Сейчас в теме
(40) Я не вижу особой необходимости оформлять правки (зачеркнутые фразы и т.п.).
Подробности поиска разумеется не стоит расписывать слишком подробно (вариантов ту бесконечное число), но намёки на самые распространенные направления движения... очень даже полезно описать.
36. V.Nikonov 119 24.12.12 19:00 Сейчас в теме
И если удаётся локализовать Документ приводящий к ошибке, то 60-70% случаев, это не полностью заполненные данные, в т.ч. реквизиты использованных элементов справочников.
Хотя фантазия Юзеров безгранична! Они почти всегда умудряются найти "обходы системы защиты от дурака".
37. lushka 8 25.12.12 06:11 Сейчас в теме
Очень грамотная и полезная статья! Автору респект
41. V.Nikonov 119 25.12.12 09:51 Сейчас в теме
локализовать ошибку (упростить ее).

Слово УПРОСТИТЬ не совсем корректно. Точнее было бы "максимально конкретизировать". Ведь ошибка от вычисления места образования не становится проще или сложнее...
43. Ягг 492 25.12.12 10:03 Сейчас в теме
(41) V.Nikonov, как мне кажется (если есть желание покапаться :) ), "сложнее" или "проще" (в том числе "УПРОСТИТЬ") - это оценочные понятия. "Больщое и страшное" (то что нельзя окинуть одним взглядом) - обычно воспринимается как более сложное, чем "маленькое и симпотичное". Поэтому, думаю, чем меньше будет "область проблемы", тем проше нам будет казаться сама возможность ее решит. Мы будем воспринимать ее как более "простую". Сразу скажу: изменится не проблема, изменится ее восприятие. Отсюда и слово "УПРОСТИТЬ".

Кроме того, "УПРОСТИТЬ", сдается мне, звучит (с сохранением смысла) несколько лучше и понятнее, чем "максимально конкретизировать" :)
44. V.Nikonov 119 25.12.12 13:01 Сейчас в теме
(43) В таком случае я предпочел бы добавить слово "решение". т.е. (упростить её решение)
или вариант упростить ее устранение
45. Ягг 492 25.12.12 13:14 Сейчас в теме
(44) V.Nikonov, хорошо, я буду знать ваши предпочтения :)
46. IgorXml 29.12.12 09:51 Сейчас в теме
Поставил плюс. Автору спасибо. Для меня новой информации меньше 1%, но прочитал с интересом.
47. CaSH_2004 354 01.01.13 18:29 Сейчас в теме
.Всех с Новым годом и Новой эрой! Странно что ничего не сказано про ошибки отображаемых данных которые решаются путем тестирования базы как в конфигураторе так и встроенной утилитой от 1С. У меня бывали случаи что в отчете показываются остатки на начало, а в базе нет проведенных документов. путем вашей дихотомии я тогда потратил пол дня излазив всю базу и перепроведя и проверив все что можно было, а оказалось база повредилась
51. ildarovich 6721 05.05.14 13:10 Сейчас в теме
Инструментом для реализации пункта 2.1 данной статьи может быть отчет "Компаратор оборотов в информационных базах".
53. kinazarov 16.07.14 14:31 Сейчас в теме
От себя добавлю вот что:
Когда ищешь что-то в интернете по этой ошибке, то всегда сохранять в онлайновом хранилище (или любым другим способом, который выживет после форс-мажора) вообще всю хоть сколько-нибудь осмысленную и толковую информацию, даже не обязательно имеющую отношение к этой конкретной ошибке. Я для хранения использую свой гугл-аккаунт, еще один хороший вариант - Evernote, но мне он не слишком подходит.
Обязательно правильно (понятно для себя) подписывать закладки.
В дальнейшем, скажем раз в месяц, нужно разгребать накопленные закладки по категориям, которые тоже сугубо индивидуальны, у меня, к примеру, это "1С общая", "1С язык 8.2", "1С язык 8.1", "1С запросы", "1С - SQL", "1С - внешние данные" и т.д.

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

Не повредит и плагин для чистки битых ссылок.
54. SunShinne 616 08.08.16 12:02 Сейчас в теме
55. ofshadows 06.07.17 14:37 Сейчас в теме
Трудность работы с программистом заключается в том, что вы не можете понять что он делает до тех пор пока не стало слишком поздно.
— Seymour Cray
56. acanta 67 25.12.18 22:19 Сейчас в теме
Трудность работы с программистом заключается в том, что вы не можете понять что он делает до тех пор пока не стало слишком поздно.
— Seymour Cray


Да, это сложно.
Оставьте свое сообщение

См. также

Рекомендательный сервис на основе коллаборативной фильтрации на 1С. Расширение формы подбора для УТ 11.4 30

Инструменты и обработки Программист Расширение (cfe) v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m) Оптовая торговля Розничная торговля Практика программирования Математика и алгоритмы

В данной разработке реализован механизм рекомендаций товаров по принципу схожести товаров в корзине на основе алгоритма Item-to-Item от Amazon. Разобран алгоритм с демо базой и сделано расширение для УТ11.4 которое добавляет в форму подбора таблицу рекомендаций. Протестировано на 8.3.13.1865 на Управление торговлей, редакция 11 (11.4.8.63)

3 стартмани

25.09.2019    1774    5    informa1555    21       

Конвейер проверки качества кода 117

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования Математика и алгоритмы Разработка

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    4737    10    Stepa86    35       

Еще раз о рабочих днях. Быстрый способ расчета в запросах 4

Статья Программист Архив с данными v8 Абонемент ($m) Практика программирования Математика и алгоритмы Разработка

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

1 стартмани

20.06.2019    1685    Alxby    3       

Функциональное программирование в 1С 6

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Математика и алгоритмы Разработка

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

1 стартмани

28.03.2019    5493    alexey.kutya    26       

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

Статья Программист Архив с данными v8 Абонемент ($m) Практика программирования Математика и алгоритмы Разработка

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

1 стартмани

04.03.2019    2544    Alxby    4       

РусскийФокс. Настройка NotePad++, 1C-подобные функции и операторы и создание объектов 11

Статья Программист Архив с данными Россия Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. Создание объектов и настройка NotePad++. GitHub https://github.com/UfaScript/RusFox

1 стартмани

06.07.2018    7334    1    andreosh    12       

РусскийФокс — 1С-подобный язык программирования 8

Инструменты и обработки Программист Архив с данными Россия Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. Знакомство.

1 стартмани

03.07.2018    6171    1    andreosh    50       

Жизненный цикл управляемой формы. Шпаргалка разработчика 233

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

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

1 стартмани

29.06.2018    21209    51    stas_ganiev    22       

Принципы ООП в 1С на примере реализации pattern Decorator 18

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

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

1 стартмани

21.06.2018    7823    4    lazarenko    6       

Строим "фасады" в 1С 60

Статья Программист Конфигурация (md, cf) v8 Россия Абонемент ($m) Практика программирования Математика и алгоритмы

Как реализовать функционал, чтобы не было “мучительно больно” при расширении требований.

1 стартмани

04.05.2018    14417    3    ktb    41       

Нечеткое сравнение строк. Метод Джаро-Винклера на 1С 128

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Абонемент ($m) Математика и алгоритмы

Схожесть строк. Метод Джаро-Винклера. В обработке реализован алгоритм нечеткого сравнения строк.

3 стартмани

20.04.2018    14137    66    Serg1701    19       

"Взлом" теста "1С:Профессионал" методом машинного обучения 83

Статья Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Практика программирования Математика и алгоритмы

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

12.03.2018    15102    88    ildarovich    18       

Случайность, совпадение, закономерность. Генератор случайных чисел 6

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Математика и алгоритмы Игры

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

1 стартмани

20.01.2018    15593    2    Ликреонский    58       

Github и 1С. Пошаговая инструкция на конкретном примере 219

Статья Программист Архив с данными v8 Абонемент ($m) Математика и алгоритмы

Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1С), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue.

1 стартмани

26.10.2017    34323    5    BlizD    51       

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

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

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

26.05.2017    38380    166    DarkAn    86       

Планы обмена. Скрестить ужа с ежом ... миссия выполнима =) 16

Статья Программист Архив с данными v8 Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Небольшое исследование возможности улучшить работу планов обмена 1С средствами SQL Server: view and triggers. Результаты имеют больше теоретическое, чем практическое значение. Однако тем, кто ищет нестандартные решения, статья может понравиться =)

1 стартмани

10.01.2017    10591    3    zhichkin    4       

Многопоточная выгрузка одного сообщения обмена 15

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8

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

1 стартмани

05.12.2016    11919    2    zhichkin    24       

1С+Классы. Версия-0 52

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

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    16429    14    IntelInside    68       

Генетический алгоритм для решения простой задачки 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Математика и алгоритмы

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

1 стартмани

26.09.2016    7607    4    eugeniezheludkov    4       

Объектные блокировки 25

Инструменты и обработки Программист Конфигурация (md, cf) v8 Россия Абонемент ($m) Практика программирования Математика и алгоритмы

При работе с объектными данными (справочники, документы, планы счетов и т.д.) система «1С:Предприятие» обеспечивает два вида объектных блокировок: пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей.

1 стартмани

17.08.2016    21724    7    Ranis1286    5       

Использование методов глобального контекста в системе компоновки данных или недокументированные возможности СКД 160

Инструменты и обработки Программист Внешний отчет (ert,erf) v8::УФ v8::СКД 1cv8.cf Windows Абонемент ($m) Практика программирования Математика и алгоритмы

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

1 стартмани

05.08.2016    30410    27    klinval    39       

Создание внешних компонент 1С по технологии NativeAPI на языке Eiffel 32

Инструменты и обработки Программист Архив с данными Абонемент ($m) Математика и алгоритмы

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

1 стартмани

15.07.2016    18132    14    IgorKissil    8       

Еще один способ расчета остатков на каждый день в запросе 128

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 Абонемент ($m) Математика и алгоритмы Практика программирования

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

1 стартмани

24.04.2016    28441    46    ildarovich    21       

Пример рекурсивной выгрузки иерархической структуры в XDTO 21

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Математика и алгоритмы Внешние источники данных WEB

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

1 стартмани

26.02.2016    29227    14    starik-2005    3       

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Математика и алгоритмы Универсальные функции

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

1 стартмани

13.10.2015    14841    22    dusha0020    5       

Пример сериализации объектов в 1С 8.3 и их восстановления из сериализованных данных 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Математика и алгоритмы Обмен через XML Перенос данных из 1C8 в 1C8

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

1 стартмани

05.07.2015    22354    78    katkov_a    29       

Степень сходства двух наименований справочника 13

Статья Программист Внешний отчет (ert,erf) v7.7 v8 Windows Абонемент ($m) Математика и алгоритмы

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

1 стартмани

25.02.2015    17494    etmarket    34       

Написание простой обработки через тестирование 66

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Математика и алгоритмы Практика программирования

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

1 стартмани

24.02.2015    23436    16    Alien_job    40       

Парсинг сайта без использования встроенного браузера для начинающих 115

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Математика и алгоритмы WEB

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

1 стартмани

20.11.2014    34449    176    angernaughts    34       

Куайн (Программа, выводящая свой исходный код на экран) 1

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Обработка позволяет насладится реализацией этой интересной, и совершенно бесполезной с практической точки зрения задачей.

1 стартмани

25.08.2014    7935    atridis    7       

Определение кратчайших путей, критических путей одним запросом 104

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Математика и алгоритмы

Еще два примера применения алгоритма каскадного матричного умножения, впервые описанного в статье «Транзитивное замыкание запросом» http://infostart.ru/public/158512/

1 стартмани

07.04.2014    33826    58    ildarovich    31       

Пророк в своем отечестве или Читаем XML с помощью XDTO 188

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Математика и алгоритмы

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

1 стартмани

29.01.2014    39762    86    majmyl    53       

Полная методичка к курсу "Программирование 8.2" 203

Инструменты и обработки Программист Сборник задач v8 1cv8.cf Абонемент ($m) Математика и алгоритмы

580 страниц знаний! Публикую методичку, а точнее стенограмму курса по подготовке программистов 8.2.

10 стартмани

09.01.2014    47856    1366    GROOVY    100       

Включаем звук в 1С. Доступно и всерьез. 53

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Математика и алгоритмы Универсальные функции

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

1 стартмани

30.12.2013    73048    258    sikuda    27       

Методический материал. Работа с запросами 42

Инструменты и обработки Программист Курс v8 Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Краткое методическое пособие для изучения запросов в 1С

1 стартмани

23.12.2013    16040    283    rayastar    27       

Определитель матрицы 12

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Практика программирования Математика и алгоритмы

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

1 стартмани

28.11.2013    10795    6    zaxarovsky    8       

Инверсии перестановок 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) Windows Абонемент ($m) Практика программирования Математика и алгоритмы

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

1 стартмани

15.11.2013    9494    1    zaxarovsky    9       

Квадратный корень в запросе 1С 51

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Язык запросов 1С не позволяет вычислить квадратный корень 1С. Квадратный корень может пригодиться при вычислении среднеквадратического отклонения или геометрических вычислениях.

1 стартмани

24.10.2013    24056    10    Elisy    53       

Агрегатное суммирование строк в запросе – сложно, но не невозможно 106

Статья Программист Нет файла v8 Абонемент ($m) Математика и алгоритмы

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

1 стартмани

09.09.2013    67914    59    ildarovich    53       

Задачи о 5 и 9 ферзях 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Математика и алгоритмы

Задача о ферзях-часовых. На шахматной доске надо расставить 5 ферзей, чтобы они держали под боем все клетки доски. Задача В. Франгена, расставить на шахматной доске 10 “белых” и 9 “чёрных” ферзей так, чтобы ни один из них не находился под ударом противника

1 стартмани

31.08.2013    17362    1    scientes    5       

Дао программирования 103

Инструменты и обработки Программист Курс Россия Абонемент ($m) Математика и алгоритмы

Умные мысли в красивой обложке. Что может быть лучше?

1 стартмани

15.08.2013    27588    125    greenLiss    36       

Загадка возвращамого значения ЗначениеВСтрокуВнутр() 18

Статья Программист Нет файла Windows Абонемент ($m) Математика и алгоритмы

ЗначениеВСтрокуВнутр(Значение); Из синтаксис помощника: Получает системное строковое представление переданного значения. Что же такое "системное строковое представление"? точнее из чего оно состоит?

1 стартмани

05.08.2013    22603    22    vitalya24    10       

АЦРК: Многовариантный автоматический запрет редактирования (для конфигурации УТ 10.3) 9

Статья Системный администратор Программист Бухгалтер Пользователь Нет файла v8 УТ10 Закрытие периода Абонемент ($m) Математика и алгоритмы Администрирование данных 1С

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

1 стартмани

22.07.2013    18988    26    acrk    9       

Демо связи веб сервисов 1С и php 26

Статья Программист Нет файла v8 1cv8.cf Абонемент ($m) Практика программирования Математика и алгоритмы WEB

Демонстрация обращения к веб сервису 1С из php. Пример простейший, уровня hello world. Дана одна страница и информационная база 1С с одним справочником и одним веб сервисом. Веб сервис выдаёт содержимое справочника по запросу странички.

1 стартмани

19.07.2013    29579    153    Трактор    20       

Разработка многоязычной системы 31

Статья Программист Нет файла v8 Абонемент ($m) Математика и алгоритмы

В статье затронуты некоторые аспекты многоязычности системы с точки зрения их технической реализации

1 стартмани

20.06.2013    18861    55    YOr!k    54       

Передача аргумента, полученного по ComConnector, на сервер 4

Статья Программист Нет файла v8 Абонемент ($m) Математика и алгоритмы

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

1 стартмани

20.03.2013    5112    7    asved.ru    3