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

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

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

132
В библиотеке собраны функции разных авторов, большинство из них написал Осипов Сергей (Гений 1С).
Использование библиотеки абсолютно свободное.

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

В библиотеке собраны функции разных авторов, большинство из них написал Осипов Сергей (Гений 1С).

Начало библиотеки было положено 22 сентября 2006 года.

Использование библиотеки абсолютно свободное.

В настоящее время библиотека реализована в виде набора общих модулей и некоторых других прикладных объектов 1С, оформленных в подсистему «Библиотека функций».

Принципы реализации

Все модули имеют префикс «бф».

Глобальные модули имеют префикс «бфГлоб».

Ведется история изменений и доработок библиотеки, хранится в модуле «бфИсторияБиблиотеки».

Шаблон модуля объявлен в модуле «бфШаблон».

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

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

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

Описание функций

Каждая функция имеет описание. Описание записывается в первой секции комментариев внутри функции.

В комментариях указываются:

·        Автор – автор разработки

·        Назначение – назначение разработки

·        Описание – описание разработки

·        Параметры – описание входящих и исходящих параметров

·        Результат – описание результата функций

Состав

DOM

Объектная модель документа в браузере.

Даты и время

Работа с датой и временем.

Диалоги

Работа с диалогами. Предупреждения, сообщения.

Запросы

Функции, упрощающие работу с запросами.

ИНН

Функции для работы с ИНН.

Коллекции

Функции для работы с коллекциями значений.

Кэш

Функции для серверного и клиентского кэширования значений.

Лингво

Функции для работы в языковых приложениях.

ИНН

Функции для работы с ИНН.

Макеты

Функции для работы с табличными макетами 1С (MXL).

Математика

Математические функции. Геометрия. Случайные числа.

Обмены

Функции для работы с планами обмена и обмена данными.

Объекты

Функции для работы с прикладными объектами 1С.

Отчеты

Функции для работы с отчетами. Получение некоторых отчетов по коллекциям, автоматические построители отчетов по коллекциям.

Построитель

Функции для работы с построителем

Сериализация

Функции для сериализации (превращения в строку) значений.

Система

Функции для работы с операционной системой.

СКД

Функции для работы с системой компоновки данных (СКД).

Строки

Функции для работы со строками.

Типы

Функции для работы с типами 1С.

Файлы

Функции для работы с файлами.

Формы

Функции для работы с формами.

Хранилище

Функции для работы с хранилищем. Обмен между файлами и хранилищем.

Язык

Некоторые усовершенствования языка программирования 1С.

132

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

Наименование Файл Версия Размер
Конфигурация библиотеки функций
.cf 117,38Kb
21.03.12
663
.cf 117,38Kb 663 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
0. fixin 3877 18.03.12 20:13 Сейчас в теме
В библиотеке собраны функции разных авторов, большинство из них написал Осипов Сергей (Гений 1С).
Использование библиотеки абсолютно свободное.



Перейти к публикации

1. ksv74 86 18.03.12 20:13 Сейчас в теме
ИНН в описании функций дважды
echo77; fixin; +2 Ответить
2. fixin 3877 18.03.12 21:43 Сейчас в теме
(1) ага, поправлю, спасибо.
3. Alex_Japanese_Student 435 18.03.12 22:34 Сейчас в теме
спасибо, давно пользуюсь
а вы библиотеку функций давно не обновляли, или она постоянно растет??
4. Rustig 1207 18.03.12 22:37 Сейчас в теме
однажды я что-то уже использовал из вашей коллекции функций, пригодилось...
а вскоре скопировал вашу коллекцию в свою разработку http://infostart.ru/public/89310/
спасибо :)
jONES1979; fixin; +2 Ответить
5. AnryMc 720 18.03.12 22:47 Сейчас в теме
(0) Моё "знакомство" с Инфостартои началось с Ваших функций http://infostart.ru/public/57975/
Заработал -3 балла.
6. fixin 3877 18.03.12 22:52 Сейчас в теме
(5) это завистники. Функции хорошие.
(3) давно не обновлял, но планирую. Теперь вроде наладил таск-флоу (управление задачами). так что все будет ок.
7. Alex_Japanese_Student 435 18.03.12 22:57 Сейчас в теме
(6)
обновляйте, давно пора!!
ждем!
спасибо заранее!
8. Поручик 4331 18.03.12 23:13 Сейчас в теме
(6) Не обращай внимания. Я тоже кое-что использовал. Только с БСПятиной не пересекайся, а то заклюют.
9. fixin 3877 18.03.12 23:22 Сейчас в теме
(8) прикол моей библиотеки в том, что 80% функций оттестированы. понятно, что многие функции можно и с нуля написать, но их еще тестировать надо. А тут - сел и поехал.
(7) ага, буду обновлять. Будут хорошие функции - давайте, включу.
10. sstar90 19.03.12 12:30 Сейчас в теме
fixin, проверь бфФайлы.ПутьБезСлеша(), по описанию "Функция корректирует путь - удаляет из него краевые пробелы и если в КОНЦЕ есть символа слеша, удаляет его", а ты проверяешь первую позицию.
Файл качал по ссылке http://fix-in.narod.ru/articles/down_funclib/article.htm
jONES1979; fixin; +2 Ответить
11. fixin 3877 19.03.12 13:36 Сейчас в теме
(10) да, однако версия библиотеки старовата. Сегодня обновлю.
Вот код из нее:
Функция ПутьБезСлеша(ИсходныйПуть, Слеш="/") Экспорт
//Назначение: Функция корректирует путь - удаляет из него краевые пробелы и если в конце есть символа слеша, удаляет его
//ДатаСоздания: 20070727
//Автор: Fixin
//Пример: 
//	c: -> c:
//	c:\ -> c:
//$Возврат: Строка
//Тестирована: Да
	
	Рез=СокрЛП(ИсходныйПуть);
	Если Прав(Рез,1)=Слеш Тогда
		Возврат Лев(Рез,СтрДлина(Рез)-1);
	Иначе
		Возврат Рез;
	КонецЕсли;
КонецФункции
Показать
12. luns 19.03.12 13:39 Сейчас в теме
в чем смысл?:


Функция Соо(Сообщение) Экспорт
	Сообщить(Сообщение);
КонецФункции

Функция ПоказатьМакет(ТД) Экспорт
//Назначение: Для оперативного отображения макета
//ДатаСоздания: 20070510
//Автор: Fixin
//Тестирована:
	ТД.Показать();
КонецФункции
Показать


"тестирована" во втором умиляет))
13. fixin 3877 19.03.12 13:46 Сейчас в теме
(12) сам догадаешься, или с тебя снять лавры гуру? посмотри на название модуля, где используются эти функции, может после этого наступит просветление, гыгыгы.

может быть тебе станет легче догадаться, если ты осознаешь, что Показать и Сообщить - это процедуры, а не функции.
14. luns 19.03.12 13:57 Сейчас в теме
(13) и что?
если бы твои функци хотя бы возвращали успешность выполненого действия, то с натяжкой можно было бы признать что есть в них толк.
а. так...

дарю тебе еще несколько:

Функция ПрибавитьЧисло(Число,СкокаПрибавить)
  Возврат Число + СкокаПрибавить;
КонецФункции

Функция УбавитьЧисло(Число,СкокаУбавить)
  Возврат Число - СкокаУбавить;
КонецФункции


ну и т.п. тока оттестить надо обязательно.
su_mai; amiralnar; kabanoff; +3 Ответить
16. fixin 3877 19.03.12 14:21 Сейчас в теме
(14) ты слился, сдался? Я даю тебе еще один шанс реабилитироваться, потом будешь локти кусать, предупреждаю. Смысл есть, думай, какой!!!!
22. luns 19.03.12 14:34 Сейчас в теме
(16) просвети.
(20) в той статье нет упоминания о Сооб().
24. fixin 3877 19.03.12 14:38 Сейчас в теме
(22)(23) я про статью на мисте: http://www.kb.mista.ru/article.php?id=105
там есть раздел Трассировка. Надеюсь, ты проникнешься моим гением после прочтения этой статьи и наконец-то вкуришь, зачем нужна функция Соо.
v.l.; bol; +2 Ответить
25. luns 19.03.12 15:14 Сейчас в теме
(24) за все семь лет работы над гораздо более сложными вещами чем любой из твоих примеров, ни разу не чувствовал недостатков механизма отладки.
так что не думаю что проникнусь.

что касаемо статьи на мисте...

увидев это:

Отладка на сервере

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


дальше читать не стал. ибо чему меня научит человек не знающий про -debug
Yakud3a; Hany; awa; kabanoff; alexk-is; +5 Ответить
28. fixin 3877 19.03.12 15:52 Сейчас в теме
(25) слив засчитан. если тебе не нужны какие-то фишечки отладки, то это не значит, что они не нужны другим. Это раз. А перевод стрелок на другую тему про дебуг - это вообще манипуляция. Может я тогда и не знал про дебуг, но про трассировку я уже тогда знал, а ты до сих пор не знаешь. ;-)
29. luns 19.03.12 16:15 Сейчас в теме
(28) какие манипуляции?

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

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

твое:


Функция СкопироватьМассив(М) Экспорт
//Назначение: Копирует массив. Почему-то в 1С можно скопировать список, таблицу значений, дерево значений, но не структуру
//ДатаСоздания: 20070620
//Автор: Fixin
//Тестирована: Нет
	Рез=Новый Массив();
	Для Каждого Эл ИЗ М Цикл
		Рез.Добавить(Эл);
	КонецЦикла;
	Возврат Рез;
КонецФункции

//заменяется на

Список = Новый СписокЗначений;
Список.ЗагрузитьЗначения(Массив);
МассивКопия = Список.ВыгрузитьЗначения();
Показать


при этом скорость выше раза в два
bol; fixin; +2 Ответить
30. fixin 3877 19.03.12 16:49 Сейчас в теме
(29) лунс, но ты с темы трассировки таки активно соскальзываешь, оттого и манипуляции. Неважно, на что ты хочешь переключить мое внимание, но я-то помню, что ты не смог придумать, для чего нужны эти функции.

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

насчет массивов, согласен, хорошее замечание, учту в библиотеке. Нельзя быть на 100% идеальным.
31. luns 19.03.12 17:10 Сейчас в теме
(30) о чем ты говоришь то? придумал не нужную потребность (трассировка), без примеров реальной необходимости применения.
обвинил платформу что она это не умеет (да не умеет) и требуешь от меня это признать.
я тебе выше русским по белому сказал. стандартных возможностей отладки вполне достаточно, если умеешь понимать код и разбираться.

в этом ты весь: борец с ветрянными мельницами.


Нельзя быть на 100% идеальным.


)))) дели на 10
Scukosan; +1 Ответить
33. fixin 3877 19.03.12 18:20 Сейчас в теме
(31) ну да, дружище лунс, конечно же, такой классический механизм, как трассировка не нужен. Классики программирования были неправы, а Лунсу достаточно имеющихся механизмов.
Рассказываю, когда мне пригодилась трассировка.
У меня в РИБ не загружался файл обмена. НЕ хваталао прав на какой-то обмен.
Вычислить по списку зарегистрированных объектов не получилось.
Поставил трассировку на событие ПриПолученииДанныхИзГлавного.
Соответственно быстро выщемил тот объект, который не загружался.
Может быть можно было и по другому как-то сложно решить проблему, но с трассировкой решилось просто.

(32) твой смех обозначает, что ты не сталкивался с серьезной работой в поле. В типовых довольно часта ситуация, когда обработчики на кнопки назначаются программно, а если ты вскроешь форму чека ккм, то там вообще можно потерятся в событиях.
34. alexqc 146 19.03.12 18:23 Сейчас в теме
(31) отладчик 1С заточен под интерактивную работу. Фишка в том, что иногда надо отследить изменения некоего значения, но таких изменений м.б. куча (например, в цикле) - делать это пошагово замахаешься. обычно в подобных случаях вставляют Сообщить(), но это изменение кода, что вызывает необходимость перезапуска.

Так вот, чтобы обходиться без изменения кода, делается один раз обертка над Сообщить(), а потом вызывается в нужном месте путем установки бряки с условием вида глСообщить("НужнаяПеременная="+НужнаяПеременная) =123. Пользуюсь таким приемом еще с 7ки. Дополнительный плюс- не нужно по окончании отладки отыскивать и убирать отладочные сообщения.

Кстати, не знаю как у Фиксина в библиотеке (не качал и не смотрел), но у меня например для нужд отладки в арсенале (также еще с 7ки) есть ф-ции глПрисвоить() и глПоказать() - первая для изменения значений прямо в отладчике, вторая - вывод и показ содержимого значения в таб. документ. Так что если там нет - вот идеи (хотя думаю что есть, все лежит на поверхности).
35. fixin 3877 19.03.12 19:39 Сейчас в теме
(34) не распинайся, товарищ Лунс выше этого, отлаживает в уме и трассировку считает некошерной.
w-divin; Kuzya_brаtsk; +2 Ответить
49. Арчибальд 2708 21.03.12 13:39 Сейчас в теме
(35)
не распинайся, товарищ Лунс выше этого, отлаживает в уме и трассировку считает некошерной.
Ну и что? Я программирую более 50 лет (с 1970 г.) и ни разу не пользовался трассерами/дебаггерами. Отлаживал транслятор с языка параллельного потокового программирования, вообще не прикасаясь к клавиатуре - просто говорил кодерам, в каком месте ошибка. В качестве базиса этого принципиального подхода приведу известный афоризм Дейкстры:
Глубоко ошибается тот, кто думает, что изделиями программистов являются программы, которые они пишут. Программист обязан создавать заслуживающие доверия решения и представлять их в форме убедительных доводов, а текст написанной программы является лишь сопроводительным материалом, к которому эти доказательства применимы.
Естественно, создание решений происходит в уме, а "отладка" суть приведение в соответствие умозрительного решения и программного текста. Современные мышеводы напротив, пишут что-то, а потом начинают судорожно выяснять, пригодно ли это что-то для достижения нужных целей. Вот, к примеру, демонстрация такого процесса http://infostart.ru/public/121612/.
Но это так, к слову. А публикация заслуживает внимания, значит, плюса.
vkr; Valerich; +2 Ответить
50. fishca 1160 21.03.12 13:54 Сейчас в теме
(49) хочешь сказать отладкой чужого кода ни раз не занимался? ;)
51. Арчибальд 2708 21.03.12 14:16 Сейчас в теме
(50) Занимался. По тексту пытался понять мысль. Непонятные куски выбрасывал (снабжал заглушками). Но никогда не пытался просто запустить и посмотреть, что получится.
52. fixin 3877 21.03.12 14:25 Сейчас в теме
(49) Арчибальд, вы уникальный товарищ. Все же большинство кодеров юзают отладчик. А если бы в 1С была трассировка и трассировку юзали бы. Я лично все возможности отладки юзал в 1с - и замеры производительности и просмотр стека и т.п.

(51) Это ты зря не пробовал, бугога. Иногда истина на поверхности.
unknown181538; mailwood; +2 Ответить
53. Арчибальд 2708 21.03.12 14:33 Сейчас в теме
(52) А я не говорю, что пользоваться отладчиком вообще нельзя. Я утверждаю только, что если сначала подумать, а потом уже начинать писать код, то отладчик может и не потребоваться - как со мной и происходило всегда.
54. fishca 1160 21.03.12 15:57 Сейчас в теме
(53) мудрость приходит с годами, к сожалению, в молодости как правило бурлит кровь и рвешься в бой
55. fixin 3877 21.03.12 16:59 Сейчас в теме
(53) если быть буквоедом, то фразу "то отладчик может и не потребоваться - как со мной и происходило всегда" можно трактовать как "мне никогда не приходилось пользоваться отладчиком". Бугога.

(54) понты тоже.
56. fishca 1160 21.03.12 17:10 Сейчас в теме
57. fixin 3877 21.03.12 17:19 Сейчас в теме
(56) да вся бравада Арчибальда в этой ветке мне кажется понтами. Но это, видимо, мои галюцинации. Замнем тему.
59. alexqc 146 21.03.12 19:19 Сейчас в теме
(49) при всем уважении, товарищ Арчибальд, вы все-таки понтуетесь.
Ну и что? Я программирую более 50 лет (с 1970 г.)


1970+50=2020. ?????


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


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


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

Естественно, создание решений происходит в уме, а "отладка" суть приведение в соответствие умозрительного решения и программного текста.[/IS-QUOTE]
Да, однако сидящее "в уме" решение - "идеально", в отличии от написанной по нему программы. "Всякая программа содержит ошибку, и всякая последняя найденная ошибка - на самом деле предпоследняя". Шутка, конечно, но доля правды как всегда там. И речь идет о отладке программы, а не отладке решения.
Ну Вы же соглашаетесь, что "отладка" - практически необходимый процесс, и при этом утверждаете что ниразу отладчиком не пользовались? Вот прям так, с первого раза все всегда и работало? "НЕ ВЕРЮ"!!!
1cmax; jONES1979; w-divin; +3 Ответить
60. alexqc 146 21.03.12 19:32 Сейчас в теме
+(59) *Оказывается, движок не поддерживает вложенных цитат.

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

Но сейчас времена другие, и лишний запуск много дешевле лишнего "ручного прохода" (да и муторно это - человек думать должен, а не прогамму за компа выполнять).
61. fixin 3877 21.03.12 21:18 Сейчас в теме
(60) слова не мальчика, но мужа. В отличии от Господина А. не вижу ничего зазорного и постыдного в отладке. И даже обдумывать не вижу смысла. Иногда, когда известно, что есть ошибка, особенно в бредовых типовых, проще взять отладчик в руки и найти багу.
63. Арчибальд 2708 22.03.12 09:09 Сейчас в теме
(59)
1970+50=2020.
Это иллюстрация моих слов. Я сразу набирал текст на клавиатуре вместо того, чтобы стачала в уме протестировать этот текст.
я проверял результат работы, отлаживали кодеры
Кодеры при этом тоже отладчиком не пользовались.
Ну Вы же соглашаетесь, что "отладка" - практически необходимый процесс, и при этом утверждаете что ниразу отладчиком не пользовались? Вот прям так, с первого раза все всегда и работало?
Отладка - процесс необходимый. Пользование отладчиком - нет. Я до сих пор согласен с утверждением Никлауса Вирта
Никогда программы не содержат так мало ошибок, как при отсутствии каких-либо средств отладки
KapasMordorov; fishca; +2 Ответить
64. fixin 3877 22.03.12 11:07 Сейчас в теме
(63) тут мы расходимся во мнениях. С высоты своего 18-летнего опыта программирования считаю, что не пользоваться дебуггером - мазохизм. Но я могу заблуждаться, конечно.
NazarovV; Hany; link_l; +3 Ответить
66. alexqc 146 22.03.12 12:07 Сейчас в теме
(63) Арчибальд
Отладка - процесс необходимый. Пользование отладчиком - нет. Я до сих пор согласен с утверждением Никлауса Вирта
Цитата
Никогда программы не содержат так мало ошибок, как при отсутствии каких-либо средств отладки


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

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

Ну если в вашем случае действительно так, то это - исключение. Весьма и весьма редкое.
link_l; fixin; +2 Ответить
67. fixin 3877 22.03.12 12:28 Сейчас в теме
(66) браво-браво, я бы точнее не сказал.
68. Арчибальд 2708 22.03.12 13:32 Сейчас в теме
(66) К той же цитате: "соответствующий" и "специально сделанный" - не одно и то же. Возможно, попадавшиеся мне отладчики просто не соответствовали моим задачам.
69. fixin 3877 22.03.12 13:52 Сейчас в теме
(68) странные какие то у вас задачи, сэр.
72. Арчибальд 2708 23.03.12 08:07 Сейчас в теме
(69) Ничего странного. Я автоматизирую учет жизни, которая неповторима.
(70)
вместо >= написал >.
И чем мне в этом случае поможет отладчик?
вы говорили что можете понять что делает программа, просто глядя на код.
Я этого не говорил, и это реально не так. И в общем-то, мне неинтересно (разве что, из простого любопытства © О. Бендер), что она делает. Область моей компетенции - знать, что программа должна делать, и заставить ее делать именно это.
И о приведенном коде. Я не знаю, что это за алгоритм. Я бы сказал, что это вообще не алгоритм, поскольку отсутствует необходимое для алгоритма свойство конечности. Скажем, когда А = 1, Б = 0. Это даже не букварь, это азбука программирования - обеспечить, чтобы циклы заканчивались.
Valerich; +1 Ответить
73. fixin 3877 23.03.12 08:18 Сейчас в теме
(72) Арчибальд на своей волне. Что он хочет сказать, я уже не вкуриваю... Ну, может другие поймут, бугога....
75. Арчибальд 2708 23.03.12 09:00 Сейчас в теме
(73) тебе "бугога" блокирует существенную часть мозга. Когда научишься без него обходиться, будет легче.
Приведу пример. Предположим, произошел сбой в http://infostart.ru/public/84868/. Эта ситуация никогда не повторится. Я никогда не узнаю, что конкретно произошло. А мне нужно, чтобы в будущем в подобной жизненной ситуации сбоя не случилось. Я включаю мозги и строю версии - при каком раскладе может "выползти" такой сбой, какие дополнительные обстоятельства надо учесть.
Отладчик же - это инструмент, помогающий программисту обнаружить собственную глупость/невнимательность/некомпетентность. А про себя я и так все знаю.
77. fixin 3877 23.03.12 11:18 Сейчас в теме
(75) ты путаешь ситуации. Да, есть разбирательство по результатам проблемы, а есть тестирование до внедрения. А ты все в кучу валишь. Я рад что ты научился работать без отладчика, но ты - исключение, которое не рекомендуется превращать в правило. Имхо бессмысленные затраты сил там, где проще отладчиком.
(76) возьму как кандидата, хотя там есть похожие функции типа СтрокаМежду...
78. Арчибальд 2708 23.03.12 11:51 Сейчас в теме
(77) Я отнюдь не призываю всех не пользоваться отладчиками. Собственно, я встрял в разговор исключительно из-за 35 коммента. И смысл моих высказываний в том, что отладчики - это некоторые гаджеты, без которых вполне можно обходиться. К примеру, я не пользуюсь айфоном. Не потому, что мне западло, а потому, что у меня нет в этом необходимости/потребности. Но я же никого не призываю выбросить свой айфон. И свой не выбрасываю - вдруг потребуется когда-нибудь.
79. fixin 3877 23.03.12 12:17 Сейчас в теме
(78) мне лично вы напоминаете людей, которые не пользуются в наше время сотовыми. Возможно они и находят в этом прелесть, но мне лично непонятна их мотивация. 99% разработчиков 1с пользуются отладчиками, поэтому ваши пассажи о ваших личных заморочках оставьте для ветки ЛАЙФ. Предлагаю больше не возвращаться к этой теме, все же это тематическая ветка.
81. Арчибальд 2708 23.03.12 12:27 Сейчас в теме
89. AlexO 127 29.03.12 14:31 Сейчас в теме
(78) Арчибальд,
не знаю, как вы не пользуетесь отладчиком, но подавляющее большинство пользуется отладчиком не для написания нового кода, а для поиска ошибок в старом, которые возникают из-за неверных/не предусмотренных данных в 99% случаев ошибок. И неверные данные вы кроме как отладчиков не поймаете - это не правка кода, это отлов ошибок/ошибочных данных.
91. Арчибальд 2708 30.03.12 09:17 Сейчас в теме
(89) AlexO, автор топика попросил прекратить это обсуждение, и я с ним согласился.
92. fixin 3877 30.03.12 11:04 Сейчас в теме
(91) вынесите в тему отдельную в Лайфе, потрещим.
70. alexqc 146 22.03.12 18:38 Сейчас в теме
(68) Вот вам сценарий: некий длинный алгоритм, в котором в одном месте программист ошибся (описАлся) и вместо >= написал >.
Вот выходе имеем неверный результат. Вопрос: как проще найти ошибку - вживую, проверяя значения в контрольных местах, и постепенно сужая область поиска (такую возможность обеспечит самый простой отладчик, или в отсутствии оного - трассировочные сообщения); либо проверяя весь текст "до буквы"? А с учетом того что "глаз замыливается" - вполне возможно и при просмотре такую ошибку и пропустить; и тогда проверка может быть равносильна написанию нового.

Вот вам другой сценарий - вы говорили что можете понять что делает программа, просто глядя на код.
Пока А<>Б Цикл
	Если А>Б Тогда
		А=А-Б;
	Иначе
		Б=Б-А;
	КонецЕсли;
КонецЦикла;
Сообщить(А);
Показать


Это один из широко известных алгоритмов, и скорее всего вы просто знаете что это. А подумайте, может ли человек, не знающий его, определить что он делает глядя на код?
84. Збянтэжаны Саўка 241 27.03.12 13:39 Сейчас в теме
(66) alexqc,
ну если Вас на цитаты потянуло,
то можно и я 5 копеек от Б.Кернигана и Р.Пайка "Практика программирования" вставлю
из Главы 5 "Отладка":

"...
Отладчик можно активизировать непосредственно тогда, когда становится
очевидным наличие проблемы. Некоторые отладчики берут власть в свои руки в тот
момент, когда при выполнении программы происходит что-то неожиданное. Обычно
бывает нетрудно выяснить, в каком месте прервалось выполнение программы,
проследить последовательность активных в тот момент функций {стековый фрейм)
и отобразить значения локальных и глобальных переменных. Этой информации
может оказаться вполне достаточно для обнаружения ошибки. Если же это не так, то
с помощью точек останова и пошагового выполнения можно выполнить аварийную
программу в отладочном режиме и найти место первого проявления проблемы.
В подходящей среде и в руках квалифицированного программиста хороший
отладчик может сделать отладку быстрой и эффективной, а то и вовсе тривиальной.
Если существуют такие мощные инструменты отладки, зачем кому-нибудь
понадобится обходиться без них? Чего ради, спросит читатель, мы написали целую главу,
посвященную отладке?
Для этого имеется ряд причин. Некоторые из них вполне объективны, а другие
основаны на нашем личном опыте. Некоторые языки, не относящиеся к числу
наиболее распространенных, не имеют отладчиков или предоставляют только
зачаточные возможности отладки. Отладчики привязаны к операционной системе,
поэтому при переходе из одной среды в другую можно не найти знакомого
отладчика. Некоторые программы плохо поддаются отладке с помощью отладчика;
среди таковых — многопоточные приложения, параллельные процессы,
операционные системы, распределенные сетевые системы. Все эти классы программ часто
приходится отлаживать на более низком уровне, и в этом случае вы остаетесь
наедине с программой без всякой помощи, кроме разве что дополнительных
операторов вывода, вооруженные только своим опытом и навыками анализа кода.

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

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

Простите за такую длинную цитату, но это чтобы полнее донести мысль авторов,
Профессионалов, по сравнению с которыми мы тут почти все дети, я то уж точно сосунок.
Valerich; +1 Ответить
85. fixin 3877 27.03.12 14:49 Сейчас в теме
(84) когда писалась эта статья, не было еще точек останова по условию и команды "продолжить выполнение до строки".
Иначе как объяснить, что автор говорит, что шагать по одному оператору дольше, чем добавить контрольное условие?
добавление контрольного условия - это тоже элемент отладки, так что не зачот.
44. Kobra_RU 215 21.03.12 10:35 Сейчас в теме
(25) luns,
дальше читать не стал. ибо чему меня научит человек не знающий про -debug

Статья написана очень неплохо. Про отладку на сервере... Зря не стал читать дальше. В разделе Отладка клиент-серверной базы ключ -debug упоминается, и кстати в 8.0 его не было...
45. luns 21.03.12 10:47 Сейчас в теме
(44) в том то и дело, что всему этому и статье и библиотеке в обед сто лет.
когда то может и актуально было. но сейчас уже нет.
46. fixin 3877 21.03.12 11:06 Сейчас в теме
(45) не надо народных песен. Что именно неактуально?
(44) во-во, товарищ Лунс не дочитал до конца, а про -debug пропел.
jONES1979; +1 Ответить
38. Izosin 49 20.03.12 14:51 Сейчас в теме
С удовольствием поставил плюс, только прочитав комментарии. luns может быть по своему и прав, но его позиция по отношению к идеи которая в определенных условиях и в умелых руках может сильно помочь и сократить время отладки в десятки раз мне непонятна.

(24)Спасибо за статью на Mista, с удовольствием прочел. Буду качать библиотеку и смотреть что можно из нее использовать у себя.
39. luns 20.03.12 15:06 Сейчас в теме
(38) позиция проста.
сама идея библиотеки функций хороша, но реализация слабая.
функции должны возвращать значения (как минимум результат выполнения усешен\нет).
должна быть логичная увязка разных функций между собой.
не должно быть примитивных. тех что в коде пишуться на лету, почти без раздумий.
или они должны расширять возможности типовых процедур, функций.

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

например у него есть функция

бфМат.Функция СлучайноеЧисло(Мин,Макс)


расчитанная под 8.0. вот в ней в начале надо проверять платформу и в случае 8.1 использовать штатный механизм платформы.

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

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

в общем незачет.

хотя идея неплоха.
40. fixin 3877 20.03.12 16:21 Сейчас в теме
(39) лучшее - враг хорошего. А писать постоянно один и те же мелкие функции тоже влом. Напиши лучше.
41. Izosin 49 20.03.12 18:01 Сейчас в теме
(39) Самый большой плюс этой публикации в комментариях. Прочитав их, точней прочитав статью по ссылку мне удалось взглянуть на отладку совсем с другой стороны. однозначный плюс этой статьи в том что ваш спор заставил меня прочитать ту статью, и за это я премного благодарен вам обоим. А с самой библиотекой нужно еще разбираться, беглый взгляд на её содержание привел меня к мысле, что ставить ее себе в таком виде я не буду, перегружать конфигурацию таким обилием общих модулей, половина из которых либо пусты, либо содержат по 2-4 функции, считаю форменным издевательством над теми кто будет работать с этой конфигурацией после меня. Так что публикация оставляет двойственные чувства. С одной стороны хотелось бы побольше публикация помогающих по новой взглянуть на наболевшие проблемы, а с другой стороны структурирована эта библиотека из рук вон плохо. Думаю для большинства полезней было бы если бы большая часть идей была оформлена в виде статью с примерами использования. Своего рода расширенная версия статьи http://www.kb.mista.ru/article.php?id=105, и все функции собранные в одном общем модуле.

Но это мое мнение, на работе сейчас запарка, и нет достаточно времени чтоб разбираться более глубоко. А за то что помогли взглянуть на отладчик по другому однозначный плюс, который я уже поставил.
CratosX; shatt; fixin; +3 Ответить
42. fixin 3877 20.03.12 18:24 Сейчас в теме
(41) не вижу проблемы в большом количестве модулей. ;-) Я долго думал над структурой и пришел к выводу, что лучше много модулей, чем один огромный.
43. Izosin 49 20.03.12 20:14 Сейчас в теме
(42) Наверно проблема в том что мне лень в голове держать помимо названий функций еще и название общего модуля где он встречается. А еще тем кто работал с УПП может и привычно то что у них справочников, документов и регистров километровыми списками, а как быть тем кто привык работать с УТ? Вот забыл я как точно пишется та или иная функция, а помню что где-то она была, как ее найти в таком обилии? В свернутом виде функции занимают 2 строки на экране, плюс строка интервала между функциями, на экране смело помещаются до 20 функций, а может и больше. Наверно мне просто привычней ковыряться в 10-30тыс строк, нежели в 40 модулях по странице каждый. Но это кто к чему привык.

При беглом осмотре большая часть функций для меня остались не совсем понятны. Выносить простые и совершенно очевидные вещи во внешние модули, вроде как нелогично, но это уже кто к чему привык. Но то что к ним можно обращаться во время отладки не меняя конфигурации делает эту идею достаточно полезной.
19. fishca 1160 19.03.12 14:26 Сейчас в теме
(14)

Результат = ?(1 = 1, Соо(), 100); - это работает
Результат = ?(1 = 1, Сообщить(), 100); - Это НЕТ ;)
zhilchenko; jONES1979; Rustig; fixin; +4 1 Ответить
26. luns 19.03.12 15:16 Сейчас в теме
(19) криво и не читабельно.
правильнее так:

ТекстСообщения = ?(1 = 1, "что то", 100);
ОбщегоНазначения.Сообщение(ТекстСообщения);
27. fishca 1160 19.03.12 15:24 Сейчас в теме
(26) - этот пример я тебе привел в качестве обоснования зачем процедура была преобразована в функцию, а не в качестве образца для подражания.
Функцию можно использовать в любых выражениях, процедуры нет.
w-divin; bol; +2 Ответить
17. dima1c 26 19.03.12 14:22 Сейчас в теме
Функция Соо(Сообщение) Экспорт
   Сообщить(Сообщение);
КонецФункции


Lol :D)
20. fixin 3877 19.03.12 14:26 Сейчас в теме
(17) еще один, который не читал мою статью "Хитрости отладки", бугога...
(18) и это правильно.. конфа то в формате 81, но легко конвертируется в 82. Обратное невозможно, потому в 81.
(19) Браво, браво, молодое дарование. Товарищ Лунс теперь будет рвать свои седые волосы - надо же так опростоволоситься! Бугога.
21. fishca 1160 19.03.12 14:29 Сейчас в теме
23. luns 19.03.12 14:35 Сейчас в теме
(20) с чего бы?
можешь реальный пример привести необходимости?
18. Flashill 321 19.03.12 14:22 Сейчас в теме
Не работала на 8.2.14 (конфигурация не хотела загружаться из файла).
Решил путем открытия конфигурации через файл - открыть. При открытии конфа сконвертировалась.
При повторной загрузке конфигурации из файла все заработало.
32. luns 19.03.12 17:49 Сейчас в теме
в статье на мисте последний абзац )))))))))))

Иногда сложно найти, в какую процедуру заходит программа по нажатию кнопки.
NazarovV; +1 Ответить
36. Uncore 1301 20.03.12 08:26 Сейчас в теме
предложу функцию получения числа прописью в формате "10 лет" вместо "десять лет" стандартными средствами "ЧислоПрописью", в предложенной подборке не нашел:
//Описание: 
//	Возвращает количественное представление переданного числа прописью на основе форматной строки.
//Параметры:
//  <Число> (обязательный)
//  	Тип: Число.
//		Число, которое требуется вернуть прописью.
//  <ФормСтрока> (обязательный)
//  	Тип: Строка.
//		Содержит перечисленные через запятую: единственное число именительный падеж, единственное число родительный падеж, множественное число родительный падеж.
//  <ВыводЧисла> (необязательный)
//  	Тип: Булево.
//		Признак вывода переданного числа.
//Например:
// 	ПрописьЧисла = ПрописьЧисла(10, "день,дня,дней"); 
//  	вернет "10 дней"
// 	ПрописьЧисла = ПрописьЧисла(3, "год,года,лет", Ложь);
//   	вернет "года"
Функция ПрописьЧисла(Число, ФормСтрока, ВыводЧисла = Истина)
	
	Строка = ЧислоПрописью(Число, , ",,,,,,,,0");
	ФорматнаяСтрока = ЧислоПрописью(Число, , ФормСтрока + ",,,,,,0");	
	
	Возврат СтрЗаменить(ФорматнаяСтрока, Строка, ?(ВыводЧисла, "" + Число + " ", ""));
	
КонецФункции
Показать
37. curys 20.03.12 08:37 Сейчас в теме
Прикольная штука, обязательно скачаю) спасибо автору
47. AndreyNit 50 21.03.12 11:52 Сейчас в теме
Беспорно библиотека функций вещь нужная. До некоторых функции и приемов сам доходил, вот если бы раньше про неё узнал бы, то с экономил много времени. Ставлю большой жирный плюс.
Правда есть в этой библиотеке небольшая скрытая угроза, она расслабляет программистов, накидал модуль из готовых функций и не думаешь, а потом когда нужно реально покодить, а навыки растеряны. Просто сам на эти грабли наступал. Хотя кому как.
48. fixin 3877 21.03.12 12:09 Сейчас в теме
(47) интересно, доживем ли мы до времени, когда автоматизация учета будет похожа на собирание программ для андроида - скачал, посмотрел, если не понравилось, скачал другую тулзу. и никакого программирования. ;-)

(45) Чтобы не было наветов, обновил библиотеку свежеиспеченным файлом.
58. KapasMordorov 428 21.03.12 18:41 Сейчас в теме
Поддержу Арчибальда.
Отладчиком пользуюсь при ползании по коду типовых, в основном из-за бредовой логики вызовов общих модулей.
При разборе своего кода - редко пользуюсь, в основном проверяю выдачей сообщений.
ЗЫ.
Ну понты, конечно, присутствуют. "Всегда" и дальше по всем кочкам.
62. daho 8 22.03.12 06:24 Сейчас в теме
Спасибо, Серега!!!! Очень хорошая вещь! Еще бы добавить нормальный движок для поиска чего нужно...
65. leraks 22.03.12 11:59 Сейчас в теме
Автору спосибо позновательно
71. alcoholic 22.03.12 19:12 Сейчас в теме
Спасибо Автор, очень удобна и информативна
74. Uncore 1301 23.03.12 08:21 Сейчас в теме
Пока А<>Б Цикл
   Если А>Б Тогда
      А=А-Б;
   Иначе
      Б=Б-А;
   КонецЕсли;
КонецЦикла;
Сообщить(А);
Показать

Алгоритма не знаю, но потестив его на реальных числах А и Б, думаю, что это алгоритм поиска наибольшего общего делителя двух целых чисел. Просто прочитав код, это, конечно, понять сложно...
80. alexqc 146 23.03.12 12:27 Сейчас в теме
(74) Uncore, да, это действительно так. Это алгоритм Евклида (в его простейшем варианте) нахождения наибольшего общего делителя. Потестив на реальных числах и выдвинув гипотезу, это даже можно доказать. А вот глядя на код - это врядли определишь.

(72) Блин, узнаю подход теоретиков-математиков. Как чуть что немного не так - объявлять неверным и отправлять в топку ВСЕ. Ну не пришло мне в голову в формате форума писать контроль входных данных - каюсь и посыпаю голову пеплом. Впредь буду с вами внимательнее.

вместо >= написал >.

И чем мне в этом случае поможет отладчик?
Я там же и написал. На тестовом примере отследить выполнение кода, ставя бряки по контрольным точкам и отслеживая там значения. Так постепенно (видя где есть ошибка а где нет) сужаем область вплоть до ошибочного куска. Вот что значит человек отладчиком не пользовался.

вы говорили что можете понять что делает программа, просто глядя на код.
Я этого не говорил, и это реально не так.

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

"По тексту пытался понять мысль" - я воспринял как "глядя на код понять что он делает". видать ошибся. посыпаю голову пеплом вторично.

Но вопрос, можно ли понять что делает приведенный в (70) код (даже с указанием области определения: натуральные числа, без 0 ) не запуская его, по прежнему остается открытым.
76. dandrontiy 23.03.12 11:11 Сейчас в теме
// Разбирает строку на две части: до подстроки разделителя и после
//
// Параметры:
// Стр - разбираемая строка
// Разделитель - подстрока-разделитель
// Режим - 0 - разделитель в возвращаемые подстроки не включается
// 1 - разделитель включается в левую подстроку
// 2 - разделитель включается в правую подстроку
//
// Возвращаемое значение:
// Правая часть строки - до символа-разделителя
//
Функция ОтделитьРазделителем(Стр, Знач Разделитель, Режим=0)
ПраваяЧасть = "";
ПозРазделителя = Найти(Стр, Разделитель);
ДлинаРазделителя = СтрДлина(Разделитель);
Если ПозРазделителя > 0 Тогда
ПраваяЧасть = Сред(Стр, ПозРазделителя + ?(Режим = 2, 0, ДлинаРазделителя));
Стр = СокрЛП(Лев(Стр, ПозРазделителя - ?(Режим = 1, -ДлинаРазделителя + 1, 1)));
КонецЕсли;
Возврат(ПраваяЧасть);
КонецФункции // ОтделитьРазделителем()
82. NoMax 232 23.03.12 15:41 Сейчас в теме
Еще одна функция транслитерации

http://forum.infostart.ru/forum24/topic27629/

Код фунции
Функция Transliterate(srtRusWord)

strRUS = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
strENG = "A///B///V///G///D///E///YO//ZH//Z///I///Y///K///L///M///N//­/O///P///R///S///T///U///F///KH//TS//CH//SH//SHCH'///Y//////­/E///YU//JA//";

strResult = "";

Для i = 1 по СтрДлина(srtRusWord) Цикл

s = Сред(srtRusWord, i,1);
s=ВРег(s);

k = Найти(strRUS, s);

Если k = 0 тогда

strResult = strResult + s;

Иначе
strResult = strResult + СтрЗаменить(Сред(strENG, (k - 1) * 4 + 1, 4), "/", "");

КонецЕсли

КонецЦикла ;

Возврат strResult;
КонецФункции
83. zhenia74 23.03.12 17:59 Сейчас в теме
а где можно ознакомится с трудами этого гениями?
86. dinfo32 28.03.12 14:53 Сейчас в теме
Функция СкопироватьМассив(М) Экспорт
//Назначение: Копирует массив. Почему-то в 1С можно скопировать список, таблицу значений, дерево значений, но не структуру
//ДатаСоздания: 20070620
//Автор: Fixin
//Тестирована: Нет
   Рез=Новый Массив();
   Для Каждого Эл ИЗ М Цикл
      Рез.Добавить(Эл);
   КонецЦикла;
   Возврат Рез;
КонецФункции

//заменяется на

Список = Новый СписокЗначений;
Список.ЗагрузитьЗначения(Массив);
МассивКопия = Список.ВыгрузитьЗначения();
Показать

не совсем поятно
87. AlexO 127 28.03.12 15:44 Сейчас в теме
(86) dinfo32,
а что вам не понятно? что Сергей попутал коллекции?
Копирует массив. Почему-то в 1С можно скопировать список, ...., но не структуру

а в коде - запись в массив из М (список значений?) заменен на заполнение массива из списка значений.
88. fixin 3877 28.03.12 15:58 Сейчас в теме
(87) согласен, через список быстрее работает, надо будет поправить. ;-)
93. curys 05.04.12 12:21 Сейчас в теме
Спасибо отличная весчь=)
94. vadimt_82 9 08.04.12 12:52 Сейчас в теме
С какой версией платформы совместима конфигурация? Платформа 8.2.14.537. Конфигурация не загружается.
95. fixin 3877 08.04.12 14:59 Сейчас в теме
(94) конфигурации для 1с81 должны без проблем открываться в конфигураторе 82. Конфа написана на 81.
96. Scukosan 09.04.12 14:58 Сейчас в теме
в качестве ознакомления тема все таки интересна
принимать чью то сторону считаю глупым(каждому виднее со своей колокольни)
но обмен наработками однозначно приветствую )

сам активно пользуюсь отладчиком(частично в силу своей безграмотности) :)
но и разбор чужого кода проще с отладчиком
97. dandrontiy 10.04.12 11:17 Сейчас в теме
Функции для получения значений при подключении по ОЛЕ.

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


Функция ВернутьУникальныйИдентификаторОбъекта(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат "<Неопределено>";
	КонецЕсли;
	
	ТипОбъекта = ТипЗнч(Объект);
	Если Перечисления.ТипВсеСсылки().СодержитТип(ТипОбъекта) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерПеречисления = Перечисления[ОбъектМетаданных.Имя];
		Если Объект <> МенеджерПеречисления.ПустаяСсылка() Тогда
			ИндексЗначения = МенеджерПеречисления.Индекс(Объект);
		Иначе
			Возврат "<ПустаяСсылка>";
		КонецЕсли;
		Возврат ОбъектМетаданных.ЗначенияПеречисления.Получить(ИндексЗначения).Имя;
	КонецЕсли;
	
	Возврат Строка(Объект.УникальныйИдентификатор());
КонецФункции

Функция ВернутьТипОбъекта(Объект) Экспорт
	Возврат СокрЛП(ТипЗнч(Объект));
КонецФункции

Функция ВернутьТипСубконто(Объект) Экспорт
		Имя = Объект.Метаданные().Имя;			
		Если Метаданные.Перечисления.Содержит(Объект.Метаданные()) Тогда
			Тип = "Перечисление";
		ИначеЕсли Метаданные.Справочники.Содержит(Объект.Метаданные()) Тогда
			Тип = "Справочники";
		ИначеЕсли Метаданные.Документы.Содержит(Объект.Метаданные()) Тогда
			Тип = "Документы";
		КонецЕсли;
		ТипЗнч = ""+Тип+"."+Имя;
		Возврат ТипЗнч;
КонецФункции

Функция ВернутьДатуДокумента(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Документы.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерДокументы = Документы[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерДокументы.ПустаяСсылка() Тогда
			Возврат Объект.Дата;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

Функция ВернутьНомерДокумента(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Документы.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерДокументы = Документы[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерДокументы.ПустаяСсылка() Тогда
			Возврат Объект.Номер;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

Функция ВернутьКодСправочника(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Справочники.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерСправочники = Справочники[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерСправочники.ПустаяСсылка() Тогда
			Возврат Объект.Код;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

Функция ВернутьНаименованиеСправочника(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Справочники.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерСправочники = Справочники[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерСправочники.ПустаяСсылка() Тогда
			Возврат Объект.Наименование;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции
	
Функция ВернутьПолныйКодСправочника(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Справочники.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерСправочники = Справочники[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерСправочники.ПустаяСсылка() Тогда
			Возврат Объект.ПолныйКод();
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

Функция ВернутьКодПеречисления(Объект) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Перечисления.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерПеречисления = Перечисления[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерПеречисления.ПустаяСсылка() Тогда
			ИндексЗначения = МенеджерПеречисления.Индекс(Объект);
			Возврат ОбъектМетаданных.ЗначенияПеречисления.Получить(ИндексЗначения).Имя;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

Функция ВернутьРеквизитСправочника(Объект,ИмяРеквизита) Экспорт
	Если Объект = Неопределено Тогда
		Возврат Неопределено
	ИначеЕсли Метаданные.Справочники.Содержит(Объект.Метаданные()) Тогда
		ОбъектМетаданных = Объект.Метаданные();
		МенеджерСправочники = Справочники[ОбъектМетаданных.Имя];
		
		Если Объект <> МенеджерСправочники.ПустаяСсылка() Тогда
			Попытка
				Реквизит = Объект[ИмяРеквизита];
			Исключение
				Реквизит =  Неопределено;
			КонецПопытки;
			Возврат Реквизит;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
	
КонецФункции

Функция ВернутьКодСчета (Объект) Экспорт
	Возврат Объект.Код;
КонецФункции
Показать
98. fixin 3877 10.04.12 11:33 Сейчас в теме
(97) а какой смысл в этих функциях? если и так можно получить это всё? Хотя хз.
99. dandrontiy 10.04.12 14:16 Сейчас в теме
(98)
Когда получаешь данные запросом через ком соединение, то при обращении к ресурсам, которые являются документами, справочниками, перечислениями - получим значение COMobject, и получить от него через точку наименование, код, ну или реквизит - не получится. попробуй сам. поэтому для получения этих параметров и надо сделать функции на стороне той базы, куда по OLE подключаемся, туда передаем полученный COM объект и там уже получаем то что надо и возвращаем.
Для получения цифры, строки и даты - такое не надо.

Кстати еще странный глюк - когда получаем цифру по внешнему соединению, бывает такая ситуация:
имеем в базе реквизит например 10.2, ну десять знаков в целой части, два после запятой. и допустим там записано значение 99.00, так вот ИНОГДА, и непонятно когда и от чего можно получить не 99.00, а 98.9999999999
Вообще непонятно от чего такое происходит. Может кто сталкивался и знает от чего такое шаманство происходит ?
100. fixin 3877 10.04.12 14:36 Сейчас в теме
(99) почему не получится? Получится. ;-) В отладчике можно посмотреть, там эти поля по латински называются.
Хотя кошернее действительно сделать функции-обертки, согласен.
Оставьте свое сообщение

См. также

Списание (корректировка) задолженности контрагентов УНФ 1.6 5

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v8 УНФ Украина БУ Дебиторская и кредиторская задолженность Абонемент ($m) Закрытие периода Обработка документов

Обнуление задолженности контрагентов в конфигурации "Управление небольшой (нашей) фирмой" версии 1.6 с помощью документа "Корректировка регистров".

1 стартмани

24.07.2019    4666    4    DMon    1       

Вам нравятся запросы в 1С? 14

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

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    10438    1    m-rv    79       

Регистрация документов с измененной суммой 2

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

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

1 стартмани

20.04.2019    4801    1    ryan    0       

Блин, мы забыли включить регламентные задания… 51

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

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

1 стартмани

08.04.2019    7371    10    slozhenikin_com    36       

Безопасная работа с транзакциями во встроенном языке 187

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

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

1 стартмани

25.03.2019    15438    7    tormozit    35       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 536

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

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    28110    264    bonv    110       

Валовая прибыль для УПП 1.3, КА 1.1 в режиме РАУЗ (работа типового отчета без доработок конфигурации) 6

Инструменты и обработки Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 КА1 УПП1 УУ Абонемент ($m) Обработка документов

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

2 стартмани

21.01.2019    6978    6    stvorl    3       

Централизованное управление списком доступных баз 1С у пользователей 8

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

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

5 стартмани

05.12.2018    5919    7    RomikR    7       

Многопоточная обработка данных 47

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

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    11515    46    _ASZ_    14       

Обнуление остатков регистров бухгалтерии и накопления 42

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m) Универсальные обработки Чистка базы

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    10239    173    morozov.sv    30       

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. 35

Инструменты и обработки Системный администратор Компонента, плагин (dll, vbs,..) v8 1cv8.cf Россия Windows Абонемент ($m) Чистка базы Сервисные утилиты Администрирование данных 1С

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

1 стартмани

04.11.2018    20147    296    Eugen-S    34       

Работа с публикациями "Инфостарт" 14

Инструменты и обработки Программист Архив с данными v8 УУ Абонемент ($m) Практика программирования О сообществе WEB

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    9569    10    RocKeR_13    16       

Помощник корректировки остатков ЕГАИС в небольшом магазине. Розница 2.2 12

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Розничная торговля Абонемент ($m) Обработка документов

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

5 стартмани

08.09.2018    15557    78    asdfgcom    45       

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 65

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

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

5 стартмани

09.08.2018    16013    23    informa1555    26       

Работа с данными выбора 40

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

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

1 стартмани

17.07.2018    22191    13    kalyaka    15       

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних) 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Чистка базы

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    8814    14    Alexander.Shvets    9       

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") 105

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

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    20101    86    m-rv    57       

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному 240

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

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

1 стартмани

10.05.2018    27984    28    dsdred    34       

Как выполнить отчет на СКД через COM и получить данные отчета? 86

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

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    18208    10    wowik    3       

Автоматическое заполнение графиков в ЗУП 3.1 6

Инструменты и обработки Бухгалтер Архив с данными v8 v8::СПР ЗУП3.x Россия БУ Зарплата Учет рабочего времени Абонемент ($m) Обработка справочников

Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).

1 стартмани

05.05.2018    9769    15    notserioussam    1       

Работа со схемой запроса 176

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

24.04.2018    28880    74    kalyaka    34       

Добавление возможности в конфигурации ЗУП 3.1 работать с фотографиями сотрудников (Зарплата и Управление Персоналом, редакция 3.1) 18

Инструменты и обработки Бухгалтер Расширение (cfe) v8 v8::СПР ЗУП3.x БУ Управление персоналом (HRM) Абонемент ($m) Обработка справочников

Добавление возможности в ЗУП 3.1 работать с фотографиями сотрудников (физических лиц). Расширение тестировалось на релизе ЗУП 3.1.5.129.

1 стартмани

09.04.2018    16514    45    charivnick    3       

Повышение качества разработок и онлайн контроль ошибок 163

Статья no Расширение (cfe) v8 Абонемент ($m) Журнал регистрации

Анализ ошибок и сбор ошибок журнала регистраций из десятков и сотен баз в одном месте.

09.03.2018    19864    136    DitriX    47       

Заполняем по шаблону (по умолчанию) 68

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

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

1 стартмани

08.02.2018    18100    20    mvxyz    17       

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов 124

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

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    25498    62    rpgshnik    46       

Корректировка остатков ЕГАИС, возврат из регистра 2, загрузка ТТН из файлов, другое для УТ10.3 15

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ УТ10 Россия БУ Розничная торговля Абонемент ($m) Обработка документов

Набор обработок для автоматизации работы с ЕГАИС: Обработка корректировки остатков ЕГАИС для УТ 10.3, аналогичная имеющимся в УТ 11, Рознице 2.2. Автоматически формирует документы "Передача в торговый зал", "Акт постановки на баланс в торговом зале", "Акт списания в торговом зале". Обработка возврата из регистра 2 с подбором справок Б. Обработка формирования ТТН из файлов xml.

1 стартмани

24.01.2018    18200    5    biz-intel    3       

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

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

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    23188    21    agent00mouse    0       

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1 35

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Абонемент ($m) Обработка документов Загрузка и выгрузка в Excel

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

3 стартмани

20.12.2017    26261    29    mvv1975    5       

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП 26

Инструменты и обработки Программист Расширение (cfe) v8 БП3.0 Абонемент ($m) Практика программирования Универсальные печатные формы

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

1 стартмани

06.12.2017    18759    52    kwazi    6       

Копирование меню в Трактир Management 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Рестораны, кафе и фаст-фуд Россия УУ Производство готовой продукции (работ, услуг) Абонемент ($m) Обработка документов

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

1 стартмани

28.11.2017    14813    2    integrator1983    0       

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

Инструменты и обработки Системный администратор Приложение (exe) v8 Windows Абонемент ($m) Сервисные утилиты

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

1 стартмани

14.11.2017    15093    85    bonv    15       

Очистка регистрации обмена 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::ОУ УТ10 Абонемент ($m) Чистка базы

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

1 стартмани

19.09.2017    9954    4    serg-lom89    0       

Расширения конфигураций 1С: учимся перехватывать методы 111

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования

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

1 стартмани

30.05.2017    85623    14    signum2009    45       

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

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

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

26.05.2017    39653    168    DarkAn    86       

Упрощение работы с актами сверки в УТ/КА/УПП - вывод номеров счетов в документе и печатной форме 3

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 КА1 УТ10 УПП1 БУ УУ Дебиторская и кредиторская задолженность Абонемент ($m) Обработка документов Печатные формы документов

Обычно акт сверки с клиентами содержат информацию о документах реализации товаров (накладных) и выполненных платежах. Но платежи делаются на основании счетов, номера которых отсутствуют в актах, что затрудняет собственно сверку. Данная обработка находит соответствующие расходным накладным счета/заказы, показывает их в форме документа и выводит в печатную форму акта.

2 стартмани

12.05.2017    13357    2    denmax    2       

Автокликер для 1С 70

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

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

1 стартмани

03.04.2017    24278    69    slava_1c    49       

Загрузка номенклатуры по штрихкоду: Управление Торговлей 11.3; Розница 2.2; Розница для Казахстана 2.2 100

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ v8::УФ Розница УТ11 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Оптовая торговля Розничная торговля Ценообразование, анализ цен Абонемент ($m) Обработка справочников Ценообразование, прайсы

Розница 2.2, Управление Торговлей 11.3. Создание номенклатуры из интернета с помощью сканера штрихкодов либо терминала сбора данных. Варианты создания, автовыбор наилучшей позиции, источники, цены, загрузка картинки - всё это очень гибко и просто настраивается. Текущие открытые источники: barcode-list.ru(на текущий момент не работает); goodsmatrix.ru; ean13.info(может не работать капча); barcodes.olegon.ru. Автор программы не несёт ответственность за информацию, предоставляемую перечисленными выше открытыми источниками, так же не отвечает за их работоспособность. Данные источники принадлежат не автору программы. Данная программа нужна лишь для автоматизированного поиска информации на них.

10 стартмани

30.03.2017    41946    49    myALKleon    37       

DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android 26

Инструменты и обработки Системный администратор Приложение (apk) v8 1cv8.cf Android Абонемент ($m) Администрирование данных 1С

DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.

1 стартмани

24.02.2017    15414    12    user700211_a.straltsou    11       

Статистика базы данных с отбором по подсистемам (кол-во и открытие списков: документов, справочников, регистров) и анализ наличия основных реквизитов: универсальная обработка (два файла - обычный и управляемый режим) 5

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

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

1 стартмани

20.02.2017    13281    46    strelec13    11       

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

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

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

10 стартмани

31.10.2016    40856    528    m..adm    186       

Простой способ индексирования интервалов 182

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

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

1 стартмани

28.09.2016    32480    39    ildarovich    22       

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора. 23

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Обработка документов Универсальные обработки Обмен через XML

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

1 стартмани

07.09.2016    29228    148    Aphanas    4       

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID) 8

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

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    24224    101    Dzenn    8       

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут 61

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 Windows Абонемент ($m) Практика программирования

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

1 стартмани

14.08.2016    39080    35    Demanoidos    60       

Лекарство на случай, если перестала работать форма списка для сделок. (ERP). 1

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

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

1 стартмани

28.07.2016    16960    milkers    2