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

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

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

открытие формы новый незаписанный документ ввод основание

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

Итак, сначала нам понадобится добавить немного кода в общие модули.

В серверный общий модуль (в моем примере его имя будет СерверныйОбщийМодуль) добавляем функцию СтруктураПоОбъектуМетаданных() и процедуру ЗаполнитьОбъектИзСтруктурыВоВременномХранилище()

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

	Для Каждого Реквизит Из ОбъектМетаданных.СтандартныеРеквизиты Цикл
		Результат.Вставить(Реквизит.Имя);
	КонецЦикла;

	Для Каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
		Результат.Вставить(Реквизит.Имя);
	КонецЦикла;

	Для Каждого ОбщийРеквизит Из Метаданные.ОбщиеРеквизиты Цикл
		ЭлементСоставаОбщегоРеквизита = ОбщийРеквизит.Состав.Найти(ОбъектМетаданных);
		Если ЭлементСоставаОбщегоРеквизита <> Неопределено И СтрСравнить(Строка(ЭлементСоставаОбщегоРеквизита.Использование), "Использовать") = 0 Тогда
			Результат.Вставить(ОбщийРеквизит.Имя);
		КонецЕсли;
	КонецЦикла;
	
	Для Каждого ТабличнаяЧасть Из ОбъектМетаданных.ТабличныеЧасти Цикл
		ТЧ = Новый ТаблицаЗначений;
		Для Каждого РеквизитТЧ Из ТабличнаяЧасть.Реквизиты Цикл
			ТЧ.Колонки.Добавить(РеквизитТЧ.Имя);
		КонецЦикла;
		Результат.Вставить(ТабличнаяЧасть.Имя, ТЧ);
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции

// Заполняет объект по ДанныеЗаполнения (адрес структуры во временном хранилище, повторяющей объект документа)
//
// Параметры:
//	ДанныеЗаполнения - Строка - адрес структуры во временном хранилище. Ключи структуры - имена реквизитов/табличных частей, а значения - значения реквизитов/таблицы значений
//		Создать такую структуру с незаполненными значениями можно вызовом функции СтруктураПоОбъектуМетаданных()
//		
Процедура ЗаполнитьОбъектИзСтруктурыВоВременномХранилище(Источник, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Экспорт
	
	Если ТипЗнч(ДанныеЗаполнения) = Тип("Строка") И ЭтоАдресВременногоХранилища(ДанныеЗаполнения) Тогда
		СтруктураОбъекта = ПолучитьИзВременногоХранилища(ДанныеЗаполнения);
		
		Если ТипЗнч(СтруктураОбъекта) = Тип("Структура") Тогда
			ИменаТабличныхЧастей = Новый Массив;
			ПропускаемыеКлючи = Новый Массив;
			Для Каждого КЗ Из СтруктураОбъекта Цикл
				Если ТипЗнч(КЗ.Значение) = Тип("ТаблицаЗначений") Тогда
					ИменаТабличныхЧастей.Добавить(КЗ.Ключ);
					ПропускаемыеКлючи.Добавить(КЗ.Ключ);
				Иначе
					Если КЗ.Значение = Неопределено Тогда
						ПропускаемыеКлючи.Добавить(КЗ.Ключ);
					КонецЕсли;
				КонецЕсли;
			КонецЦикла;
			
			Попытка
				//заполним реквизиты объекта
				ЗаполнитьЗначенияСвойств(Источник, СтруктураОбъекта, , СтрСоединить(ПропускаемыеКлючи, ","));
				
				//заполним табличные части объекта
				Для Каждого ИмяТабличнойЧасти Из ИменаТабличныхЧастей Цикл
					Источник[ИмяТабличнойЧасти].Загрузить(СтруктураОбъекта[ИмяТабличнойЧасти]);
				КонецЦикла;
			Исключение
				Сообщить("При заполнении возникла ошибка: "+ОписаниеОшибки());
			КонецПопытки;
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

Далее, там где мы хотим открыть форму незаписанного документа с уже заполненными данными пишем


&НаКлиенте
Процедура СоздатьЗаполнитьИОткрытьНовыйДокумент()

	АдресХранилища = СоздатьНовыйДокументНаСервере();
	
	ПараметрыОткрытия = Новый Структура("Основание", АдресХранилища);
	ОткрытьФорму("Документ.РасходныйОрдер.ФормаОбъекта", ПараметрыОткрытия, ЭтаФорма, УникальныйИдентификатор);

КонецПроцедуры

&НаСервере
Функция СоздатьНовыйДокументНаСервере()
	
	//получаем структуру, повторяющую все реквизиты и табличные части документа
	ДокСтруктура = СерверныйОбщийМодуль.СтруктураПоОбъектуМетаданных("Документ.Поступление");
	
	//заполняем структуру нужными данными
	ДокСтруктура.Контрагент = Объект.Контрагент;
	Для Каждого ТекСтрока Из Объект.Товары Цикл
		НоваяСтрока = ДокСтруктура.Товары.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрока);
	КонецЦикла;
	
	//помещаем заполненную структуру в хранилище и возвращаем адрес хранилища
	Возврат ПоместитьВоВременноеХранилище(ДокСтруктура, УникальныйИдентификатор);
	
КонецФункции

Теперь нам нужно чтобы в обработке заполнения открываемого документа вызвалась процедура ЗаполнитьОбъектИзСтруктурыВоВременномХранилище(). Проще всего сделать, это создав подписку на событие ОбработкаЗаполнения. В эту подписку включаем все нужные нам документы (те документы, которые мы хотим открывать и заполнять). В качестве обработчика подписки на событие указываем процедуру ЗаполнитьОбъектИзСтруктурыВоВременномХранилище(). Либо можно непосредственно в процедуре ОбработкаЗаполнения() вызвать СерверныйОбщийМодуль.ЗаполнитьОбъектИзСтруктурыВоВременномХранилище(). 

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dandykry 5 09.06.18 08:45 Сейчас в теме
Форма = ОткрытьФорму("Справочники.Банки.ФормаОбъекта", Новый Структура("КакиеУгодноПараметры") );

ДанныеФормы = Форма.Объект;

ЗаполнитьНаОснованииКакДушеУгодно(ДанныеФормы);

КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);

И откроется форма незаписанного заполненного документа
GROOVY; BigB; ltfriend; +3 Ответить
4. tormozit 5912 09.06.18 09:13 Сейчас в теме
(1) , (2)
Такие способы имеют недостатки. Например сама форма объекта не сможет скорректировать данные нового объекта при необходимости, т.к. не узнает, что они изменились. И даже если мы ей поможем узнать, то ей для этого придется делать лишний серверный вызов. Оба подхода пригодны, но в своих ситуациях.
nvv1970; Aleskey_K; +2 Ответить
6. beefit 13.06.18 10:57 Сейчас в теме
(0), (4) Можно пример, где применение этого метода лучше стандартного открытия формы с параметрами? Я что-то не вникну сходу
8. Serge R 133 13.06.18 16:21 Сейчас в теме
(6) Можно конечно передать в форму параметры и в ПриСозданииНаСервере() заполнить из параметров. Но это придется писать в каждой такой форме, по моему методу достаточно один раз прописать процедуры и далее добавлять нужные объекты в подписку на событие.
11. beefit 14.06.18 11:32 Сейчас в теме
(8), (10)
Делать заполнение в ПриСозданииНаСервере() довольно странный вариант.
Для этого есть ОбработкаЗаполнения()
То что вы передадите вторым параметром в ОткрытьФорму() будет доступно вам в ОбработкаЗаполнения()
И все нужные вам процедуры из (10) отработают корректно
10. Serge R 133 13.06.18 16:29 Сейчас в теме
(1) Простой пример: если в открываемой форме устанавливается видимость или доступность элементов формы в зависимости от значений реквизитов объекта, то если сначала открыть форму, а потом заполнять, придется дополнительно вызывать эти процедуры. При моем способе открывается уже заполненный объект и все эти процедуры отработают автоматически.
12. dandykry 5 14.06.18 15:19 Сейчас в теме
(10)

Форма = ОткрытьФорму("Справочники.Банки.ФормаОбъекта", Новый Структура("КакиеУгодноПараметры") ); 

ДанныеФормы = Форма.Объект; 

ЗаполнитьНаОснованииКакДушеУгодно(ДанныеФормы); 

КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); 

Форма.Элементы.Организация.Видимость = Ложь; //не очень способ но если уж выкручиваться не дописывая конфигурацию
Показать

Или

Форма.УстановитьВидимостьЭлементов() //Где УстановитьВидимостьЭлементов экспортная процедура формы,


Уж если в так пошло то и нужно именно в ПриСозданииНаСервере все заполнять, то:

Расширение управляемой формы для документа (Managed form extension for documents)
ЗначенияЗаполнения (FillingValues)
Описание:

Тип: Структура.
Параметры заполнения нового объекта.
Ключ структуры - имя реквизита формы, значение - заполняемое значение.


ЗначенияЗаполнения = Новый Структура("Организация, Контрагент", МояОрганизация, МойКонтрагент); 
Форма = ОткрытьФорму("Справочники.Банки.ФормаОбъекта", ЗначенияЗаполнения ); 

итд

А если сильно сильно подумать, то можно взять за основу идею Переопределяемых общих модулей. Добавить в нем ПриСозданииНаСервере. В нужных формах вызвать в событии ПриСозданииНаСервере. Далее в зависимости от открываемой формы и параметров выполнять определенные действия.
2. AlX0id 09.06.18 09:08 Сейчас в теме
Для использования этого способа потребуется немного модифицировать конфигурацию.

А нафига этот троллейбус из буханки?
Гугл давно решил эту проблему за вас: https://helpf.pro/faq/view/1396.html
3. tormozit 5912 09.06.18 09:10 Сейчас в теме
Зачем городить какую то структуру, когда можно просто сериализовать сам объект данных в строку и поместить ее во временное хранилище и затем сразу получить из строки XML натуральный объект и преобразовать его в данные формы?
mvxyz; Трактор; +2 Ответить
5. Трактор 1200 13.06.18 09:14 Сейчас в теме
Не обрабатываются стандартные и общие реквизиты.
9. Serge R 133 13.06.18 16:23 Сейчас в теме
(5) Справедливое замечание, добавил их.
7. davlen 62 13.06.18 13:38 Сейчас в теме
Сам что то подобное делал недавно, но у меня в отличии от автора, заполняются даже элементы формы, которые не являются реквизитами объекта.
Оставьте свое сообщение

См. также

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

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

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

27.01.2016    75447    Serginio    108    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    1599    YPermitin    12    

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

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

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

06.08.2020    236    RPGrigorev    0    

Пользовательское поле СКД одной процедурой

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

Быстрое создание пользовательского поля "выражение" одной процедурой

05.08.2020    852    Yashazz    0    

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

Универсальные функции v8 Бесплатно (free)

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

26.02.2016    40843    unichkin    38    

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Универсальные функции v8 БП3.0 УТ11 Россия Бесплатно (free)

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

10.07.2020    2015    quazare    5    

Вывод дерева в табличный документ СКД

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

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    2156    Yashazz    4    

Команда "Вывести список" для динамического списка. Программное выполнение (вариант)

Универсальные функции v8::УФ 1cv8.cf Бесплатно (free)

Делаем свою кнопку вместо "Вывести список" из пункта "ещё" динамического списка.

11.06.2020    2749    DanDy    58    

Минимализмы 3 Промо

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

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

19.02.2018    45904    ildarovich    45    

Ещё немного функционального стиля в 1С или Как нам отфильтровать таблицу значений

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

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

16.05.2020    2560    GlebHappy    34    

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

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

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

25.12.2019    6728    brooho    17    

Функция - Формат государственного номера автомобиля

Универсальные функции v8 Автомобили, автосервисы Россия Бесплатно (free)

Возникла необходимость в приведении к единому формату хранящихся, и вводимых вновь, автомобильных Регистрационных знаков - Гос.номер.

23.12.2019    3187    brooho    4    

Универсальная функция для программного выполнения СКД Промо

Инструментарий разработчика Универсальные функции v8::СКД 1cv8.cf Бесплатно (free)

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

20.05.2015    30340    dj_serega    18    

Полезности | Дерево значений | Обычные формы |

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

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

04.12.2019    5208    Mellow    7    

Обработка расширением на клиенте

Расширения Универсальные функции v8::УФ 1cv8.cf Бесплатно (free)

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

31.10.2019    6922    EvgenURNN    9    

Использование XML-схемы из макета внешней обработки

Обмен через XML Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    10508    Olesia_Matusevich    10    

Выполнение произвольного кода в фоновых заданиях Промо

Универсальные функции v8 Бесплатно (free)

Если надо быстро провести 100`000 документов...

13.01.2016    24489    unichkin    13    

Быстрое создание наполненных коллекций

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

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

28.10.2019    7004    SeiOkami    66    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

Универсальные функции Обмен через XML v8 1cv8.cf Бесплатно (free)

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

24.10.2019    10634    kraspila    28    

Обертка функций Excel на русском. Ускорение процесса разработки.

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

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

24.10.2019    7085    DmitryKotov    6    

Распределение оплаты по товарам Промо

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

Учебная задача. Оплата приходит по заказу. Требуется запросом распределить её по товарам. Практическая задача была сложнее. Упростил специально для иллюстрации. Сначала собираем в одну таблицу заказы и товары. Затем ОБЪЕДИНТЬ ВСЕ с оплатами. Потом намазываем оплату на товар.

04.08.2014    19089    Трактор    5    

Функция СтрШаблон с именованными маркерами

Универсальные функции v8 1cv8.cf Бесплатно (free)

Функция позволяет задавать именованные маркеры формата [Имя], в отличии от типовых нумерованных формата %n

1 стартмани

21.10.2019    4145    kirinalex    27    

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

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

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

10.10.2019    9639    Yashazz    45    

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

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

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

17.08.2019    30046    ids79    16    

Сканируем без сканера или MXL to JPG Промо

Внешние источники данных Универсальные функции Печатные формы документов v8 1cv8.cf Бесплатно (free)

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

24.05.2012    33939    shakmaev    47    

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

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

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

13.05.2019    6295    Serge R    5    

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

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

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

28.03.2019    6068    obsfromekb    11    

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

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

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

22.03.2019    17234    ids79    16    

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

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

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

07.03.2019    50825    ids79    45    

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

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

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

05.02.2019    12735    informa1555    10    

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

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

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

14.01.2019    25246    Evg-Lylyk    17    

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

Универсальные функции v8 Бесплатно (free)

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

14.01.2019    5548    The Ded    5    

Многопоточное восстановление последовательностей

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

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    12950    _ASZ_    33    

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

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

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

14.11.2018    79031    GeterX    113    

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

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

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

07.11.2018    30443    fromlion    22    

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

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

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

27.09.2018    10530    bmk74    7    

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

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

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

19.09.2018    6213    drmaxart    3    

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

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

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

07.05.2018    8694    dim_zal    6    

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

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

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

22.12.2017    24944    rpgshnik    22    

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

Универсальные функции v8 Бесплатно (free)

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

08.12.2017    18398    frkbvfnjh    21    

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

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

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

12.11.2017    10612    user634820_zergemoth    1    

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

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

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

08.11.2017    22886    azubar    10