Склонение числа прописью

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

Разработка - Универсальные функции

Склонение числа прописью число прописью

25
Склоняет число прописью до 999999 Пример: до склонения "Не позднее 3 (Три) дней", после - "Не позднее 3 (Трех) дней"

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

Накатал склонялку, реализовал до 999999, т.к. более не нужно. Можно посмотреть, как сделано, и добавить, кому надо, и больше, добавляем слово в структуру и его аналог, в общем, все просто.

Работает так: у функции на входе число прописью, обработанное стандартной функцией 1С ЧислоПрописью(...)

На выходе склоненное или, если не удалось, то, что передали.

Тестил так: от балды вбивал всякие числа - склоняет.

Вот код, может, кому пригодится.

Функция ПолучитьСтруктуруСклонени(ЧислоПрописью)
	ЧислоПрописью = СокрЛП(ЧислоПрописью);
	
	ПадежРодительный = новый структура;
	ПадежРодительный.Вставить("Один","Одного");
	ПадежРодительный.Вставить("Два","Двух");
	ПадежРодительный.Вставить("Три","Трех");
	ПадежРодительный.Вставить("Четыре","Четырех");
	ПадежРодительный.Вставить("Пять","Пяти");
	ПадежРодительный.Вставить("Шесть","Шести");
	ПадежРодительный.Вставить("Семь","Семи");
	ПадежРодительный.Вставить("Восемь","Восьми");
	ПадежРодительный.Вставить("Девять","Девяти");
	ПадежРодительный.Вставить("Десять","Десяти");
	ПадежРодительный.Вставить("Одиннадцать","Одиннадцати");
	ПадежРодительный.Вставить("Двенадцать","Двенадцати");
	ПадежРодительный.Вставить("Тринадцать","Тринадцати");
	ПадежРодительный.Вставить("Четырнадцать","Четырнадцати");
	ПадежРодительный.Вставить("Пятнадцать","Пятнадцати");
	ПадежРодительный.Вставить("Шестнадцать","Шестнадцати");
	ПадежРодительный.Вставить("Семнадцать","Семнадцати");
	ПадежРодительный.Вставить("Восемнадцать","Восемнадцати");
	ПадежРодительный.Вставить("Девятнадцать","Девятнадцати");
	ПадежРодительный.Вставить("Двадцать","Двадцати");
	ПадежРодительный.Вставить("Тридцать","Тридцати");
	ПадежРодительный.Вставить("Сорок","Сорока");
	ПадежРодительный.Вставить("Пятьдесят","Пятидесяти");
	ПадежРодительный.Вставить("Шестьдесят","Шестидесяти");
	ПадежРодительный.Вставить("Семьдесят","Семидесяти");
	ПадежРодительный.Вставить("Восемьдесят","Восьмидесяти");
	ПадежРодительный.Вставить("Девяносто","Девятоста");
	ПадежРодительный.Вставить("Сто","Ста");
	ПадежРодительный.Вставить("Двести","Двухсот");
	ПадежРодительный.Вставить("Триста","Трехсот");
	ПадежРодительный.Вставить("Четыреста","Четырехсот");
	ПадежРодительный.Вставить("Пятьсот","Пятисот");
	ПадежРодительный.Вставить("Шестьсот","Шестисот");
	ПадежРодительный.Вставить("Семьсот","Семисот");
	ПадежРодительный.Вставить("Восемьсот","Восьмисот");
	ПадежРодительный.Вставить("Девятьсот","Девятисот");
	ПадежРодительный.Вставить("Тысяча","Тысячи");
	ПадежРодительный.Вставить("Одна","Одной");
    ПадежРодительный.Вставить("Две","Двух");
	ПадежРодительный.Вставить("Тысяч","Тысяч");
	ПадежРодительный.Вставить("Тысячи","Тысяч");


	МассивСлов = новый массив;
	готово = ложь;
	ПервоеСлово = Истина;
	НовоеСлово = "";
	Перваябуква = "";
	Вырезка= "";
	ВернутьОшибка = ЧислоПрописью;
	Пока НЕ Готово Цикл
		НайденноеЗначение = "";
		НайденныйПробел = Найти(ЧислоПрописью," ");
		Если НайденныйПробел = 0 Тогда
			Если ПервоеСлово Тогда
				Если ПадежРодительный.Свойство(ЧислоПрописью, НайденноеЗначение) Тогда
					Возврат НайденноеЗначение;
				Иначе
					Возврат ВернутьОшибка;
				КонецЕсли;
			Иначе
				Вырезка = СокрЛП(ЧислоПрописью);
				Перваябуква = Врег(ЛЕВ(Вырезка,1));
				ЧислоПрописью = Перваябуква + Прав(Вырезка,СтрДлина(Вырезка)-1);

				Если ПадежРодительный.Свойство(ЧислоПрописью, НайденноеЗначение) Тогда
					НайденноеЗначение = НРЕГ(НайденноеЗначение);
					НовоеСлово = НовоеСлово + НайденноеЗначение + " ";
					Возврат сОКРлп(НовоеСлово);
				Иначе
					Возврат ВернутьОшибка;
				КонецЕсли;

			КонецЕсли;
		Иначе
			Вырезка = СокрЛП(ЛЕВ(ЧислоПрописью,НайденныйПробел));
			Перваябуква = Врег(ЛЕВ(Вырезка,1));
			Вырезка = Перваябуква + Прав(Вырезка,СтрДлина(Вырезка)-1);
			Если ПадежРодительный.Свойство(Вырезка, НайденноеЗначение) Тогда
				Если ПервоеСлово Тогда
					НовоеСлово = НовоеСлово + НайденноеЗначение + " ";
					первоеСлово = Ложь;
					ЧислоПрописью = СокрЛП(Прав(ЧислоПрописью,СтрДлина(ЧислоПрописью)-НайденныйПробел));
				Иначе
					НовоеСлово = НовоеСлово + НРЕГ(НайденноеЗначение) + " ";
					ЧислоПрописью = СокрЛП(Прав(ЧислоПрописью,СтрДлина(ЧислоПрописью)-НайденныйПробел));

				КонецЕсли;
			Иначе
				Возврат ВернутьОшибка;
			КонецЕсли;
		КонецЕсли;
		
	КонецЦикла;
	
КонецФункции

25

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

Комментарии
Избранное Подписка Сортировка: Древо
1. ZOMI 418 19.08.16 11:59 Сейчас в теме
Уж если так важна каждая буковка в договоре - не быстрее ли договор поправить на "не позднее чем за 3(Три) дня" ?

2. maxvcb 51 19.08.16 12:04 Сейчас в теме
(1) ZOMI, мне не важна юристам важна. Меня попросили я сделал разговоры разговаривать не в моих правилах.
zinnaz; kuzyara; baracuda; +3 1 Ответить
3. Fragster 928 19.08.16 16:12 Сейчас в теме
Есть хорошая универсальная штука (в договорах, например, еще есть пункты типа "в лице генерального директора, действующего на основании устава", где выделенные куски также должны браться из базы) http://infostart.ru/public/330103/
daMaster; klinval; premierex; Uncore; ZOMI; +5 Ответить
4. maxvcb 51 19.08.16 18:51 Сейчас в теме
(3) Fragster, и? она числительные склоняет? к чему вот писать охинею? я выложил довольно таки простой код склонения числительных, мне зачем ваши фамилии? К чему вот это сообщение?
5. maxvcb 51 19.08.16 18:55 Сейчас в теме
(3) Fragster, склоняет таки, не посмотрел код сразу, приношу извинения. Ну дело то добровольное, у меня код по проще. Я выложил не хотите не берите че минусовать то.
7. dgolovanov 22.08.16 16:51 Сейчас в теме
(5) слюнями много брызжете, вот и минусуют
6. Артано 662 22.08.16 01:57 Сейчас в теме
Я для данной задачи использовал типовую склонялку, склоняющую рубли. Просто вместо слова рубль используется день :-)
ARL; Uncore; +2 1 Ответить
8. Uncore 1289 23.08.16 09:40 Сейчас в теме
9. maxvcb 51 23.08.16 13:23 Сейчас в теме
(6) Артано, чет не понятно, тут склоняются не Дни а Числа.
11. Артано 662 24.08.16 07:12 Сейчас в теме
(9) перечитайте еще раз моё сообщение и вы всё поймете. Если нет, то изучите имеющиеся механизмы склонения в типовых. Изобретать велосипеды может быть приятно, но смекалку и находчивость еще никто не отменял
12. Terve!R 24.08.16 11:16 Сейчас в теме
(11) ты бы еще склонять через morpher.ru предложил)
Если конфа на БСП, то конечно лучше разобраться и типовые функции склонения использовать. Но тут кажется весьма универсальный для данной задачи велосипед получился, пусть будет :)
13. maxvcb 51 24.08.16 11:51 Сейчас в теме
(11) Артано, перечитал, тут либо я дурак либо одно из двух.
Типовая склонялка это ЧислоПрописью(СрЭск,,",мр1,мр2,мр3,р,жр1,жр2,жр3,ж.0");
где мр и жр это варианты числа
типа рубля, рублей.Рублев
и выдает она
Семь тысяч Двести Тридцать ддва рубля, ты Ркбли поменял на дни иии?
Когда мой велосипед склоняет Семь тысяч Двести Тридцать ДВа в Семи тысяч Тридцати двух и по х** чего рублей дне колес насосов.
Ну и?
ДмитрийС; +1 Ответить
15. ДмитрийС 16.02.18 12:59 Сейчас в теме
(11) Соглашусь с автором, не совсем понятно, как вы собирались стандартным механизмом склонять числительные? Ведь речь идет как раз об этом, а не о "днях, рублях и т.д."

Если это было не голословное утверждение, то просьба привести пример, дабы всех поставить на место.
10. maxvcb 51 23.08.16 13:29 Сейчас в теме
что за люди такие, пишут не в тему еще и минусы ставят. Любители покакать в коментариях
user774630; evg_m; +2 2 Ответить
14. Svasily 14.08.17 14:53 Сейчас в теме
Опечатка : Девятоста
А в остальном, спасибо.
16. Tomy82 47 20.04.18 13:47 Сейчас в теме
спасибо, утащил, то, что надо
17. o4karek 20.04.18 14:32 Сейчас в теме
А есть еще стандартная СтрокаСЧислом().
Вроде то же самое делает
18. maxvcb 51 20.04.18 15:55 Сейчас в теме
(17) ага в точности то же самое, а это я так от нефик делать писал =)))
19. o4karek 20.04.18 16:10 Сейчас в теме
20. maxvcb 51 20.04.18 16:29 Сейчас в теме
(19) ну почитайте переписку выше мы уже это обсудили, что типовая склонялка немного не так работает как эта, поэтому эта и была мной написана. Примерно то же самое, но не то же.
21. o4karek 20.04.18 17:14 Сейчас в теме
(20) в переписке выше - ЧислоПрописью(). Я, конечно, очкарег, но СтрокаСЧислом() и ЧислоПрописью() - слегка не одно и тоже.
Пример из СП практически ваш:
// Пример вывода строки, содержащей количество дней до нового года
Строка = СтрокаСЧислом(";остался %1 день;;осталось %1 дня;осталось %1 дней;осталось %1 дня",
    ДнейДоНовогоГода,
    ВидЧисловогоЗначения.Количественное,
    "L=ru");
Строка = "До Нового Года " + Строка;
// Результаты вычисления:
// "До Нового Года остался 1 день"
// "До Нового Года осталось 2 дня"
// "До Нового Года осталось 5 дней"
Показать
22. maxvcb 51 20.04.18 17:24 Сейчас в теме
(21) я извиняюсь не обратил внимания на имя функции.

Тогда все еще печальнее, строка с числом это вообще не то пальто, число прописью хоть какой то схожий функционал т.к. склоняет числа, тогда как вами указанная функция склоняет слово после числа, нет?
23. o4karek 20.04.18 17:30 Сейчас в теме
(22) Может вы все-таки в СП заглянете? И перестанете ставить диагноз по фотке? :)
24. maxvcb 51 20.04.18 17:45 Сейчас в теме
(23) не имею времени на бессмысленную переписку. во первых мой пост вышел по времени ранее чем функция вами описываемая появилась на платформе 1с(статья из ссылки дата и дата моего поста).
во вторых я вам отвечаю что это что то похожее так же как красный ремень для синих джинсов и синий ремень для красных. СП я глянул остаюсь при своем.
25. zinnaz 22.02.19 13:23 Сейчас в теме
maxvcb, спасибо, что поделились разработкой, вещь полезная.
26. user1040609 22.08.19 18:08 Сейчас в теме
Большое спасибо, очень помогли, единственно на вход пришлось подавать очищенное от нулей на конце, иначе ошибку било
27. Mad_117 25.09.19 12:21 Сейчас в теме
Оставьте свое сообщение

См. также

Полезняшки по СКД и построителям. Просто код 31

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

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    1532    Yashazz    16       

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

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

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

17.08.2019    7810    ids79    14       

Сохранение запроса со всеми параметрами и временными таблицами 20

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

Функция сохранения запроса со всеми параметрами и временными таблицами в формате *.q1c для открытия в консоли запросов с диска ИТС.

13.05.2019    2347    Serge R    5       

Иерархия справочника Сверху Вниз. Получаем произвольное количество родителей "верхнего" уровня 7

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

Иерархия справочника Сверху Вниз. Функция для получения произвольного количества родителей "верхнего" уровня. На примере справочника "Номенклатура".

28.03.2019    1968    obsfromekb    11       

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4 101

Статья Программист Нет файла v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free) Практика программирования Разработка Универсальные функции

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

22.03.2019    8575    ids79    14       

Добавление отчетов в типовые конфигурации 1С 200

Статья Программист Нет файла v8::УФ v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

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

07.03.2019    22666    ids79    32       

Расширение конструктора мобильного рабочего места для варианта "клиент 1С+RDP" (для любых wi-fi терминалов). Экосистема решений Simple WMS 20

Статья Программист Бизнес-аналитик Руководитель проекта Нет файла v8::УФ УУ Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Бесплатно (free) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Универсальные функции Мобильная разработка

Развитие проекта «Конструктор мобильного клиента на Android» https://infostart.ru/public/976636/ для устройств не на Андроиде (работающих в режиме RDP). В отличие от варианта Android работа на терминалах происходит в режиме 1С:Предприятие через RDP а конфигурации мобильных клиентов полностью совместимы для обоих версий. Т.е. конфигурация единая, создается один раз и ее может читать как Android -устройство, так и 1С-клиент на RDP без необходимости какой либо переделки.

05.02.2019    5746    informa1555    0       

Работа со строками: от простого к сложному 25

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

Простые примеры работы со строками, в конце более читаемый разбор сложных текстов.

14.01.2019    7285    Evg-Lylyk    17       

Нумерация колонок субконто при выгрузке набора записей регистра бухгалтерии в таблицу значений 6

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

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

14.01.2019    2234    The Ded    3       

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 455

Статья Программист Нет файла v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Управление персоналом (HRM) Бесплатно (free) Универсальные функции

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

14.11.2018    30991    GeterX    93       

Кадровые данные сотрудников в ЗУП 3.1 в отчетах 38

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Россия Управление персоналом (HRM) Бесплатно (free) Универсальные функции

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    12647    fromlion    12       

Добавление расшифровки в стандартные и добавленные внешние отчеты со стандартной формой отчета на СКД 72

Статья Программист Нет файла v8::УФ v8::СКД ERP2 УТ11 Россия Бесплатно (free) Универсальные функции

Описан способ добавления расшифровки отчета на СКД как встроенного в систему, так и добавленного внешнего отчета.

27.09.2018    6451    bmk74    2       

Функция НайтиФайлы() в каталоге netshare на Linux - обход ошибки работы 6

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

Решение проблемы применения функции НайтиФайлы() в каталоге с netshare на Linux-сервере - не работает поиск файлов по указанной маске (шаблону)

19.09.2018    3193    drmaxart    1       

Простой способ программно открыть заполненную форму нового (незаписанного) документа в тонком клиенте 15

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

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

09.06.2018    7316    Serge R    12       

Генерация временного ряда запросом 7

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

Способ генерации последовательности дат средствами языка запроса 1С.

07.05.2018    5802    dim_zal    6       

Минимализмы 3 350

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

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35252    ildarovich    44       

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок 83

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

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

22.12.2017    18736    rpgshnik    21       

Пример преобразования двоичных данных в строку 26

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

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

08.12.2017    12286    frkbvfnjh    19       

Функция сохранения картинок из книги Excel в каталог с определением координат на листе 8

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

Разбор файла *.xlsx как Web-архива, выгрузка изображений без потери качества, с определением положения изображений.

12.11.2017    7076    user634820_zergemoth    1       

Определяем контекст сеанса 1С программно (Тонкий/Толстый клиенты/HTTP-Сервис/Фоновое задание и т.д.) 31

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

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

08.11.2017    15251    azubar    9       

Правила округления 5

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

Округление числовых значений по трём правилам математики

30.10.2017    7626    dakork    4       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

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

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

12.10.2017    14415    for_sale    58       

Получение даты, зная день недели и его порядок в месяце 10

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

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

12.09.2017    8055    987ww765    10       

Разность дат 21

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

Иногда требуется получить разность дат в виде типа: 5 дней 6 месяцев 4 года. Это можно сделать с помощью запроса, получив на выходе сразу 3 нужных числа, без последующих вычислений.

11.08.2017    9675    jun-ko    24       

Простой способ преобразовать UNICODE в строку или в структуру 23

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

Первая функция получает Строку, которая содержит строчки вида «Ключ=Значение». Вторая функция получает Структуру.

07.07.2017    7111    dimasts    5       

"Распределение в запросе" или "избавляемся от перебора" 182

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

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27689    alexandersh    45       

Пример работы с шаблоном Word через ole (клиент - сервер, тонкий клиент) - установка значений и заполнение таблицы 17

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

В примере показывается заполнение строк готовой таблицы, добавление новой таблицы, объединение ячеек, установка значений в "параметр".

09.11.2016    9963    gortrex    8       

Парсер JSON (Штатные средства 1С 8.3.6) 59

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

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

29.09.2016    46087    dour-dead    21       

Программное создание графических схем (v.2): API для ГрафическойСхемы 73

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

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

27.09.2016    16825    serg_infostart    15       

Вычитание рабочих дней от текущей даты 7

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

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

08.09.2016    9556    semenich_b    7       

Используем механизмы обмена данными БСП для произвольного обмена 147

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Внешние источники данных БСП (Библиотека стандартных подсистем)

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

23.08.2016    27569    Патриот    22       

Отборы в отчётах. Нюансы работы компоновщика настроек. 131

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

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

15.08.2016    58949    Yashazz    23       

Автоматическое добавление новых реквизитов на форму (УФ) 38

Статья Программист Нет файла v8 v8::УФ Бесплатно (free) Работа с интерфейсом Универсальные функции

Идея такая: Программист добавил реквизит в объект. В комментарии этого реквизита прописал некое спец. слово (можно не матерное). На форму объекта новый реквизит далее попадает автоматом в спец. группу "Дополнительно".

03.08.2016    16128    Патриот    23       

HOWTO: создание и отладка HTTP-сервиса в 1С:Предприятие 123

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

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

25.07.2016    39241    serg_infostart    19       

Цикл ввода данных, пример решения 41

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

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

12.07.2016    11112    botokash    7       

Поиск несериализуемых значений при помещении в хранилище 12

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Универсальные функции

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

02.03.2016    19969    balanton    2       

Универсальные функции с примерами использования 242

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

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

26.02.2016    35296    unichkin    36       

Преобразование числа в строку в запросе 1С 8.x 21

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

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

23.02.2016    32818    lastcontra    19       

Изменения параметра или отбора типа Дата в форме отчета 6

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

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

08.02.2016    9757    dj_serega    3       

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

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

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

27.01.2016    62541    Serginio    104       

Быстрое визуальное сравнение двух таблиц значений 18

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

Предлагаю простой способ сравнить две таблицы значений.

13.11.2015    11845    Mi4man    14       

Перебор всех строк дерева значений в глубину 2

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

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

11.11.2015    11349    kosmo0    6       

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

Статья Программист Нет файла v8 УНФ ERP2 БП3.0 Windows Бесплатно (free) Работа с интерфейсом Универсальные функции

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

05.11.2015    14930    H-Labs    11       

1С с "плюсами" 74

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

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

14.10.2015    19509    IntelInside    47