[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .
1С Предприятие (процедуры и функции)
(1)       Используют 34 человека

Комментарии

utyv 26 апреля 2024
Как то несистемно используются пробелы. В одинаковых ситуациях где-то ставятся, где-то нет. Это затрудняет набор. В реальной работе на это не заморачиваешься - делаешь везде одинаково.
Написать тут
Описание:
Короткие процедуры и функции общего модуля типовой конфигурации
Автор:
CiberRus
Создан:
13 декабря 2013 в 08:51 (текущая версия от 13 декабря 2013 в 11:03)
Публичный:
Да
Тип словаря:
Тексты
Цельные тексты, разделяемые пустой строкой (единственный текст на словарь также допускается).
Содержание:
1 Процедура ЗаполнитьМассивУникальнымиЗначениями(МассивПриемник, МассивИсточник) Экспорт
Для Каждого Элемент Из МассивИсточник Цикл
Если МассивПриемник.Найти(Элемент) = Неопределено Тогда
МассивПриемник.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
2 Процедура УдалитьНепроверяемыеРеквизитыИзМассива(МассивРеквизитов, МассивНепроверяемыхРеквизитов) Экспорт
Для Каждого ЭлементМассива Из МассивНепроверяемыхРеквизитов Цикл
ПорядковыйНомер = МассивРеквизитов.Найти(ЭлементМассива);
Если НЕ ПорядковыйНомер = Неопределено Тогда
МассивРеквизитов.Удалить(ПорядковыйНомер);
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
3 Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт
Массив = Новый Массив();
СтруктураСтрокой = "";
НужнаЗапятая = Ложь;
Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
Если НужнаЗапятая Тогда
СтруктураСтрокой = СтруктураСтрокой + ",";
КонецЕсли;
СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
НужнаЗапятая = Истина;
КонецЦикла;
Для Каждого Строка Из ТаблицаЗначений Цикл
НоваяСтрока = Новый Структура(СтруктураСтрокой);
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
Массив.Добавить(НоваяСтрока);
КонецЦикла;
Возврат Массив;
КонецФункции;
4 Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт
Структура = Новый Структура;
Для каждого Колонка Из СтрокаТаблицыЗначений.Владелец().Колонки Цикл
Структура.Вставить(Колонка.Имя, СтрокаТаблицыЗначений(Колонка.Имя));
КонецЦикла;
Возврат Структура;
КонецФункции;
5 Функция КлючиСтруктурыВСтроку(Структура, Разделитель = ",") Экспорт
Результат = "";
Для Каждого Элемент Из Структура Цикл
СимволРазделителя = ?(ПустаяСтрока(Результат), "", Разделитель);
Результат = Результат + СимволРазделителя + Элемент.Ключ;
КонецЦикла;
Возврат Результат;
КонецФункции;
6 Функция ЭтоСтандартныйРеквизит(СтандартныеРеквизиты, ИмяРеквизита) Экспорт
Для Каждого Реквизит ИЗ СтандартныеРеквизиты Цикл
Если Реквизит.Имя = ИмяРеквизита Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции;
7 Функция ПолучитьЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт
Результат = ПолучитьЗначенияРеквизитов(Ссылка, ИмяРеквизита);
Возврат Результат(ИмяРеквизита);
КонецФункции;
8 Функция ЗначениеРеквизитаОбъектов(МассивСсылок, ИмяРеквизита) Экспорт
ЗначенияРеквизитов = ЗначенияРеквизитовОбъектов(МассивСсылок, ИмяРеквизита);
Для Каждого Элемент Из ЗначенияРеквизитов Цикл
ЗначенияРеквизитов(Элемент.Ключ) = Элемент.Значение(ИмяРеквизита);
КонецЦикла;
Возврат ЗначенияРеквизитов;
КонецФункции;
9 Функция ТабличныеЧастиОбъекта(ОбъектМетаданных)
Результат = Новый Массив;
Для Каждого ТабличнаяЧасть Из ОбъектМетаданных.ТабличныеЧасти Цикл
Результат.Добавить(ТабличнаяЧасть.Имя);
КонецЦикла;
Возврат Результат;
КонецФункции;
10 Функция УровеньСобытияПоПредставлению(ПредставлениеУровня)
Если ПредставлениеУровня = "Информация" Тогда
Возврат УровеньЖурналаРегистрации.Информация;
ИначеЕсли ПредставлениеУровня = "Ошибка" Тогда
Возврат УровеньЖурналаРегистрации.Ошибка;
ИначеЕсли ПредставлениеУровня = "Предупреждение" Тогда
Возврат УровеньЖурналаРегистрации.Предупреждение;
ИначеЕсли ПредставлениеУровня = "Примечание" Тогда
Возврат УровеньЖурналаРегистрации.Примечание;
КонецЕсли;
КонецФункции;
11 Функция УровниСобытияЖурналаРегистрацииПоСтроке(СписокУровней)
МассивНазванийУровней = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СписокУровней);
МассивУровней = Новый Массив;
Для Каждого Название Из МассивНазванийУровней Цикл
МассивУровней.Добавить(УровеньСобытияПоПредставлению(Название));
КонецЦикла;
Возврат МассивУровней;
КонецФункции;
12 Процедура НоваяСтрокаКоллекцииОбъектовМетаданных(Имя, Синоним, Картинка, КартинкаОбъекта, Таб)
НоваяСтрока = Таб.Добавить();
НоваяСтрока.Имя = Имя;
НоваяСтрока.Синоним = Синоним;
НоваяСтрока.Картинка = Картинка;
НоваяСтрока.КартинкаОбъекта = КартинкаОбъекта;
КонецПроцедуры;
13 Функция ИменаРеквизитовПоТипу(Ссылка, Тип) Экспорт
Результат = "";
МетаданныеОбъекта = Ссылка.Метаданные();
Для Каждого Реквизит Из МетаданныеОбъекта.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(Тип) Тогда
Результат = Результат + ?(ПустаяСтрока(Результат), "", ", ") + Реквизит.Имя;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции;
14 Функция ИмяЗначенияПеречисления(Значение) Экспорт
ОбъектМетаданных = Значение.Метаданные();
ИндексЗначения = Перечисления(ОбъектМетаданных.Имя).Индекс(Значение);
Возврат ОбъектМетаданных.ЗначенияПеречисления(ИндексЗначения).Имя;
КонецФункции;
15 Функция ЭтоДокумент(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаДокументы();
КонецФункции;
16 Функция ЭтоСправочник(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаСправочники();
КонецФункции;
17 Функция ЭтоПеречисление(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаПеречисления();
КонецФункции;
18 Функция ЭтоПланОбмена(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаПланыОбмена();
КонецФункции;
19 Функция ЭтоПланВидовХарактеристик(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаПланыВидовХарактеристик();
КонецФункции;
20 Функция ЭтоБизнесПроцесс(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаБизнесПроцессы();
КонецФункции;
21 Функция ЭтоЗадача(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаЗадачи();
КонецФункции;
22 Функция ЭтоПланСчетов(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаПланыСчетов();
КонецФункции;
23 Функция ЭтоПланВидовРасчета(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаПланыВидовРасчета();
КонецФункции;
24 Функция ЭтоРегистрСведений(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаРегистрыСведений();
КонецФункции;
25 Функция ЭтоРегистрНакопления(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаРегистрыНакопления();
КонецФункции;
26 Функция ЭтоРегистрБухгалтерии(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаРегистрыБухгалтерии();
КонецФункции;
27 Функция ЭтоРегистрРасчета(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаРегистрыРасчета();
КонецФункции;
28 Функция ЭтоКонстанта(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаКонстанты();
КонецФункции;
29 Функция ЭтоЖурналДокументов(ОбъектМетаданных) Экспорт
Возврат ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных) = ИмяТипаЖурналыДокументов();
КонецФункции;
30 Функция ЭтоРегистр(ОбъектМетаданных) Экспорт
ИмяБазовогоТипа = ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных);
Возврат ИмяБазовогоТипа = ИмяТипаРегистрыСведений()
ИЛИ ИмяБазовогоТипа = ИмяТипаРегистрыНакопления()
ИЛИ ИмяБазовогоТипа = ИмяТипаРегистрыБухгалтерии()
ИЛИ ИмяБазовогоТипа = ИмяТипаРегистрыРасчета();
КонецФункции;
31 Процедура ХранилищеОбщихНастроекСохранитьМассив(МассивСтруктур, НужноОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт
Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
КонецЕсли;
Для Каждого Элемент Из МассивСтруктур Цикл
ХранилищеОбщихНастроек.Сохранить(Элемент.Объект, Элемент.Настройка, Элемент.Значение);
КонецЦикла;
Если НужноОбновитьПовторноИспользуемыеЗначения Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
КонецПроцедуры;
32 Процедура ХранилищеОбщихНастроекСохранитьМассивИОбновитьПовторноИспользуемыеЗначения(МассивСтруктур) Экспорт
ХранилищеОбщихНастроекСохранитьМассив(МассивСтруктур, Истина);
КонецПроцедуры;
33 Процедура ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек = Неопределено, Значение,
ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено,
НужноОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт
Если НЕ ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
КонецЕсли;
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Значение, ОписаниеНастроек, ИмяПользователя);
Если НужноОбновитьПовторноИспользуемыеЗначения Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
КонецПроцедуры;
34 Процедура ХранилищеОбщихНастроекСохранитьИОбновитьПовторноИспользуемыеЗначения(КлючОбъекта, КлючНастроек, Значение) Экспорт
ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Значение,,,Истина);
КонецПроцедуры;
35 Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек = Неопределено, ЗначениеПоУмолчанию = Неопределено, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт
Результат = Неопределено;
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Результат = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, ОписаниеНастроек, ИмяПользователя);
КонецЕсли;
Если (Результат = Неопределено) И (НЕ ЗначениеПоУмолчанию = Неопределено) Тогда
Результат = ЗначениеПоУмолчанию;
КонецЕсли;
Возврат Результат;
КонецФункции;
36 Процедура ХранилищеСохранить(МенеджерХранилища, КлючОбъекта, КлючНастроек, Значение, ОписаниеНастроек, ИмяПользователя, НужноОбновитьПовторноИспользуемыеЗначения)
Если НЕ ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
КонецЕсли;
МенеджерХранилища.Сохранить(КлючОбъекта, КлючНастроек, Значение, ОписаниеНастроек, ИмяПользователя);
Если НужноОбновитьПовторноИспользуемыеЗначения Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
КонецПроцедуры;
37 Функция ХранилищеЗагрузить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию,
ОписаниеНастроек, ИмяПользователя)
Результат = Неопределено;
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Результат = МенеджерХранилища.Загрузить(КлючОбъекта, КлючНастроек, ОписаниеНастроек, ИмяПользователя);
КонецЕсли;
Если (Результат = Неопределено) И (НЕ ЗначениеПоУмолчанию = Неопределено) Тогда
Результат = ЗначениеПоУмолчанию;
КонецЕсли;
Возврат Результат;
КонецФункции;
38 Функция ТекущийПользователь() Экспорт
Возврат ПользователиСервер.ТекущийПользователь();
КонецФункции;
39 Функция ПолучитьОбщийСписокИсключенийПоискаСсылок() Экспорт
ОбщийМассивИсключенийСсылок = Новый Массив;
ЗаполнитьМассивУникальнымиЗначениями(ОбщийМассивИсключенийСсылок, СтандартныеПодсистемыПереопределяемый.ИсключенияПоискаСсылок());
ЗаполнитьМассивУникальнымиЗначениями(ОбщийМассивИсключенийСсылок, ОбщегоНазначенияЗКПереопределяемый.ПолучитьИсключенияПоискаСсылок());
Возврат ОбщийМассивИсключенийСсылок;
КонецФункции;
40 Функция ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита) Экспорт
Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита);
Возврат Результат(ИмяРеквизита);
КонецФункции;
41 Функция ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти, РезультатПриОшибке = Истина) Экспорт
Попытка
Возврат ТабДокумент.ПроверитьВывод(ВыводимыеОбласти);
Исключение
Возврат РезультатПриОшибке;
КонецПопытки;
КонецФункции;
42 Функция ОписаниеТипаСостоитИзТипа(ОписаниеТипа, ТипЗначения) Экспорт
Если ОписаниеТипа.Типы().Количество() = 1 И ОписаниеТипа.Типы().Получить(0) = ТипЗначения Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции;
43 Процедура ЗаполнитьКоллекциюЭлементовДереваДанныхФормы(КоллекцияЭлементовДерева, ДеревоЗначений) Экспорт
Для Каждого Строка Из ДеревоЗначений.Строки Цикл
ЭлементДерева = КоллекцияЭлементовДерева.Добавить();
ЗаполнитьЗначенияСвойств(ЭлементДерева, Строка);
Если НЕ Строка.Строки.Количество() = 0 Тогда
ЗаполнитьКоллекциюЭлементовДереваДанныхФормы(ЭлементДерева.ПолучитьЭлементы(), Строка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
44 Функция СравнитьТипСсылкиДокумента(Ссылка, ИмяДокумента) Экспорт
Если Метаданные.Документы.Найти(ИмяДокумента) = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Возврат ТипЗнч(Ссылка) = Тип("ДокументСсылка." + ИмяДокумента);
КонецФункции;
45 Функция ПолучитьЗначениеПеременной(ИмяПараметра, Кэш = Неопределено, КэшИзменен = Ложь) Экспорт
Возврат РаботаСОбщимиПеременными.ПолучитьЗначениеПеременной(ИмяПараметра)
КонецФункции;
46 Функция СформироватьМассивПрефиксовДляРИБИОрганизации(Организация) Экспорт
МассивПрефиксов = ПолучитьМассивПрефиксовРИБ();
Если ЗначениеЗаполнено(Организация) Тогда
Префикс = СокрЛП(Организация.Префикс);
Если НЕ Префикс = "" Тогда
МассивПрефиксов.Добавить(Префикс);
КонецЕсли;
КонецЕсли;
Если МассивПрефиксов.Количество() = 0 Тогда
МассивПрефиксов.Добавить("");
КонецЕсли;
Возврат МассивПрефиксов;
КонецФункции;
47 Функция ВыделитьСлово(ИсходнаяСтрока) Экспорт
Буфер = СокрЛ(ИсходнаяСтрока);
ПозицияПослПробела = Найти(Буфер, " ");
Если ПозицияПослПробела = 0 Тогда
ИсходнаяСтрока = "";
Возврат Буфер;
КонецЕсли;
ВыделенноеСлово = СокрЛП(Лев(Буфер, ПозицияПослПробела));
ИсходнаяСтрока = Сред(ИсходнаяСтрока, ПозицияПослПробела + 1);
Возврат ВыделенноеСлово;
КонецФункции;
48 Функция СформироватьЗаголовокДокумента(ДокументОбъект, НазваниеДокумента = "") Экспорт
Если ДокументОбъект = Неопределено Тогда
Возврат "";
Иначе
Возврат ?(НЕ ЗначениеЗаполнено(НазваниеДокумента), ДокументОбъект.Метаданные().Синоним, НазваниеДокумента ) + " № " + ПолучитьНомерНаПечать(ДокументОбъект) + " от " + Формат(ДокументОбъект.Дата, "ДФ='дд ММММ гггг'");
КонецЕсли;
КонецФункции;
49 Процедура ДобавитьПрефиксОрганизации(ДокументОбъект, Префикс) Экспорт
Префикс = "0";
Если НЕ ДокументОбъект.Метаданные().Реквизиты.Найти("Организация") = Неопределено Тогда
ПрефиксОрганизации = ПолучитьЗначениеРеквизита(ДокументОбъект.Организация, "Префикс");
Если ЗначениеЗаполнено(ПрефиксОрганизации) Тогда
Префикс = ПрефиксОрганизации;
КонецЕсли;
КонецЕсли;
КонецПроцедуры;
50 Процедура ПриУстановкеНовогоНомераДляДокументов(Источник, СтандартнаяОбработка, Префикс) Экспорт
ДобавитьПрефиксОрганизации(Источник, Префикс);
ДобавитьПрефиксУзла(Префикс);
КонецПроцедуры;
51 Процедура ОбработкаУдаленияПроведенияДокумента(Источник, Отказ) Экспорт
УдалитьДвиженияРегистратора(Источник, Отказ);
Если НЕ Источник.ДополнительныеСвойства. Свойство("ТаблицаСтаройРегистрацииВПоследовательности") И Источник.ДополнительныеСвойства. ТаблицаСтаройРегистрацииВПоследовательности.Количество() = 0 Тогда
УправлениеЗапасамиПартионныйУчет. СдвинутьГраницуПоследовательностиНазад(Источник.Дата, Источник.Ссылка, Источник.ДополнительныеСвойства. ТаблицаСтаройРегистрацииВПоследовательности);
КонецЕсли;
КонецПроцедуры;
52 Процедура ПриУстановкеНовогоКодаДляСправочникаИлиПВХ(Источник, СтандартнаяОбработка, Префикс) Экспорт
ДобавитьПрефиксУзла(Префикс);
КонецПроцедуры;
53 Функция ПустаяДата(ПроверяемаяДата) Экспорт
Если ТипЗнч(ПроверяемаяДата) = Тип("Дата") И ПроверяемаяДата = Дата(1,1,1) Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции;
54 Функция СоздатьМассивИзмененныхКонстант(КоллекцияКонстантДляПроверки) Экспорт
МассивИзмененныхКонстант = Новый Массив;
Для каждого ЭлементКоллекции Из КоллекцияКонстантДляПроверки Цикл
ИмяКонстанты = ЭлементКоллекции.Ключ;
ЗначениеКонстанты = ЭлементКоллекции.Значение;
ТекущееЗначение = Константы(ИмяКонстанты).Получить();
Если ТипЗнч(ТекущееЗначение) = Тип("ХранилищеЗначения") Тогда
Продолжить;
КонецЕсли;
Если НЕ ЗначениеКонстанты = ТекущееЗначение Тогда
МассивИзмененныхКонстант.Добавить(Метаданные.Константы(ИмяКонстанты));
КонецЕсли;
КонецЦикла;
Возврат МассивИзмененныхКонстант;
КонецФункции;
55 Функция ЗаписатьНабор(НаборЗаписей) Экспорт
Попытка
НаборЗаписей.Записать();
Исключение
ВывестиИнформациюОбОшибке(ПолучитьПричинуОшибки(ИнформацияОбОшибке()).Описание);
Возврат Ложь;
КонецПопытки;
Возврат Истина;
КонецФункции;
56 Функция ПустоеЗначениеТипа(ЗаданныйТип) Экспорт
Если ЗаданныйТип = Тип("Число") Тогда
Возврат 0;
ИначеЕсли ЗаданныйТип = Тип("Строка") Тогда
Возврат "";
ИначеЕсли ЗаданныйТип = Тип("Дата") Тогда
Возврат '00010101000000';
ИначеЕсли ЗаданныйТип = Тип("Булево") Тогда
Возврат Ложь;
Иначе
Возврат Новый (ЗаданныйТип);
КонецЕсли;
КонецФункции;
57 Функция МассивПустыхЗначений(ОписаниеТипов) Экспорт
МассивЗначений = новый Массив;
МассивЗначений.Добавить(неопределено);
Если ТипЗнч(ОписаниеТипов)=Тип("ОписаниеТипов") Тогда
Для каждого Тип из ОписаниеТипов.Типы() Цикл
МассивЗначений.Добавить(ПустоеЗначениеТипа(Тип));
КонецЦикла;
ИначеЕсли ТипЗнч(ОписаниеТипов)=Тип("Тип") Тогда
МассивЗначений.Добавить(ПустоеЗначениеТипа(ОписаниеТипов));
КонецЕсли;
Возврат МассивЗначений;
КонецФункции;
58 Функция ЕстьРеквизитТабЧастиДокумента(ИмяРеквизита, МетаданныеДокумента, ИмяТабЧасти) Экспорт
ТабЧасть = МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти);
Возврат НЕ ТабЧасть = Неопределено И НЕ ТабЧасть.Реквизиты.Найти(ИмяРеквизита) = Неопределено
КонецФункции;
59 Функция ЕстьНеЦифры(Знач СтрокаПроверки) Экспорт
СписокКодовЧисел = Новый СписокЗначений;
Для а = 48 По 57 Цикл
СписокКодовЧисел.Добавить(а);
КонецЦикла;
СтрокаПроверки = СокрЛП(СтрокаПроверки);
Если НЕ ТипЗнч(СтрокаПроверки) = Тип("Строка") Тогда
Возврат Истина;
Иначе
Для а = 1 По СтрДлина(СтрокаПроверки) Цикл
Если СписокКодовЧисел.НайтиПоЗначению(КодСимвола(Сред(СтрокаПроверки, а, 1))) = Неопределено Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат Ложь;
КонецФункции;
60 Функция ПолучитьРеквизитШапки(ИмяРеквизита, ДокументОбъект, МетаданныеДокумента, ПустоеЗначение = Неопределено) Экспорт
ЗначениеРеквизита = ?(НЕ МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено, ДокументОбъект(ИмяРеквизита), ПустоеЗначение);
Возврат ЗначениеРеквизита;
КонецФункции;
61 Функция ПолучитьОписаниеТиповСтроки(ДлинаСтроки) Экспорт
Возврат Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(ДлинаСтроки, ДопустимаяДлина.Переменная));
КонецФункции;
62 Функция ПолучитьОписаниеТиповЧисла(Разрядность, РазрядностьДробнойЧасти = 0, ЗнакЧисла = Неопределено) Экспорт
Если ЗнакЧисла = Неопределено Тогда
КвалификаторЧисла = Новый КвалификаторыЧисла(Разрядность, РазрядностьДробнойЧасти);
Иначе
КвалификаторЧисла = Новый КвалификаторыЧисла(Разрядность, РазрядностьДробнойЧасти, ЗнакЧисла);
КонецЕсли;
Возврат Новый ОписаниеТипов("Число", КвалификаторЧисла);
КонецФункции;
63 Функция ПолучитьОписаниеТиповДаты(ЧастиДаты) Экспорт
Возврат Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты));
КонецФункции;
64 Функция ВернутьИндексВМассиве(МассивДанные, Элемент) Экспорт
Если МассивДанные = Неопределено Тогда
Возврат -1;
КонецЕсли;
Для ИндексЭлемента = 0 По МассивДанные.ВГраница() Цикл
Если (МассивДанные(ИндексЭлемента) = Элемент) Тогда
Возврат ИндексЭлемента;
КонецЕсли;
КонецЦикла;
Возврат -1;
КонецФункции;
65 Процедура УдалитьНеЗаполненныеЭлементыМассива(МассивЭлементов) Экспорт
Колво = МассивЭлементов.Количество();
Для н=1 По Колво Цикл
Если НЕ ЗначениеЗаполнено(МассивЭлементов(Колво-н)) Тогда
МассивЭлементов.Удалить(Колво-н);
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
66 Функция ОпределитьВажностьСобытияЖурналаРегистрации(Статус)
ВидСобытия = УровеньЖурналаРегистрации.Информация;
Если Статус = СтатусСообщения.Внимание Тогда
ВидСобытия = УровеньЖурналаРегистрации.Предупреждение;
ИначеЕсли Статус = СтатусСообщения.Важное или Статус = СтатусСообщения.ОченьВажное Тогда
ВидСобытия = УровеньЖурналаРегистрации.Ошибка;
КонецЕсли;
Возврат ВидСобытия;
КонецФункции;
67 Функция Сообщение(Знач ТекстСообщения, Статус = Неопределено, Заголовок = "", РасшифровкаСообщения = Неопределено, СтрокаРодитель = Неопределено, РаскрытьСообщение = Истина, ЭтоСообщениеОбОшибке = Ложь) Экспорт
ДублироватьСообщениеВЖурналРегистрации(ТекстСообщения, Статус, Заголовок);
СтрокаДереваЗначений = ВыводСообщений.ВывестиСообщениеВПанельКомментариев(ТекстСообщения, Статус, Заголовок, РасшифровкаСообщения, СтрокаРодитель, РаскрытьСообщение);
Если СтрокаДереваЗначений = Неопределено Тогда
ВыводСообщений.ВывестиСообщениеВОкноСообщений(ТекстСообщения, Статус, Заголовок, РасшифровкаСообщения, ЭтоСообщениеОбОшибке);
КонецЕсли;
Возврат СтрокаДереваЗначений;
КонецФункции;
68 Процедура СообщитьОСостоянииИзмененияНастройки(ИмяНастройки,Действие, Комментарий="", Уровень=0,текСтатусСообщения=неопределено) Экспорт
Если текСтатусСообщения = неопределено Тогда
СтатусСообщенияДляВывода = СтатусСообщения.Информация;
Иначе
СтатусСообщенияДляВывода = текСтатусСообщения;
КонецЕсли;
СтрокаТабуляций = "";
Для ш = 1 По Уровень Цикл
СтрокаТабуляций = СтрокаТабуляций + Символы.Таб;
КонецЦикла;
ОбщегоНазначения.Сообщение(СтрокаТабуляций + "Настройка учета: "+ИмяНастройки+". "+Действие + ?(Комментарий = "",""," (" + Комментарий + ")"),СтатусСообщенияДляВывода);
КонецПроцедуры;
69 Процедура СообщитьИнформациюПользователю(СтрокаСообщенияПользователю) Экспорт
*Если Клиент Тогда
Сообщить(СтрокаСообщенияПользователю);
*КонецЕсли
КонецПроцедуры;
70 Процедура ПоказатьДиалогСИнформациейОбОшибке(ИнформацияОбОшибке) Экспорт
*Если Клиент Тогда
ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке);
*Иначе
СообщитьОбОшибке(ПолучитьПричинуОшибки(ИнформацияОбОшибке).Описание);
*КонецЕсли
КонецПроцедуры;
71 Функция ПолучитьСписокЭлементовПеречисления(ИмяПеречисления) Экспорт
СписокЭлементовПеречисления = Новый СписокЗначений;
Попытка
КоллекцияЭлементовПеречисления = Перечисления(ИмяПеречисления);
Исключение
Возврат СписокЭлементовПеречисления;
КонецПопытки;
Для каждого ЭлементПеречисления Из КоллекцияЭлементовПеречисления Цикл
СписокЭлементовПеречисления.Добавить(ЭлементПеречисления, Строка(ЭлементПеречисления));
КонецЦикла;
Возврат СписокЭлементовПеречисления;
КонецФункции;
72 Процедура УстановитьНовоеЗначение(Параметр, Значение) Экспорт
Если НЕ Параметр = Значение Тогда
Параметр = Значение;
КонецЕсли;
КонецПроцедуры;
73 Функция ПолучитьИмяТабличнойЧастиПоСсылкеНаСтроку(СтрокаТабличнойЧасти) Экспорт
ИмяТабличнойЧасти = Метаданные.НайтиПоТипу(ТипЗнч(СтрокаТабличнойЧасти)).Имя;
Возврат ИмяТабличнойЧасти;
КонецФункции;
74 Процедура УдалитьДвиженияРегистратора(ДокументОбъект, Отказ, ВыборочноОчищатьРегистры = Ложь, РежимПроведенияДокумента = Неопределено) Экспорт
УдалитьЗаписанныеДвиженияДокумента(ДокументОбъект, Отказ, ВыборочноОчищатьРегистры, РежимПроведенияДокумента);
ОчисткаКоллекцииДвиженийДокумента(ДокументОбъект);
УдалитьРегистрациюДокументаВПоследовательностях(ДокументОбъект, Истина);
КонецПроцедуры;
75 Процедура УдалитьДвиженияПринятиеКУчетуОС(ДокументОбъект, Отказ, СтруктураВидовУчета) Экспорт
УдалитьЗаписанныеДвиженияДокументаПринятиеКУчетуОС(ДокументОбъект, СтруктураВидовУчета);
ОчисткаКоллекцииДвиженийДокумента(ДокументОбъект);
УдалитьРегистрациюДокументаВПоследовательностях(ДокументОбъект, Истина);
КонецПроцедуры;
76 Процедура ОчисткаКоллекцииДвиженийДокумента(ДокументОбъект)
Если ДокументОбъект.Движения.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для Каждого Движение ИЗ ДокументОбъект.Движения Цикл
Если НЕ Движение.Количество() = 0 Тогда
Движение.Очистить();
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
77 Процедура ЗагрузитьВТаблицуЗначений(ТаблицаИсточник, ТаблицаПриемник, ЗаполнятьНомераСтрокПоИсточнику = Ложь) Экспорт
Для Каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл
СтрокаТаблицыПриемника = ТаблицаПриемник.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриемника, СтрокаТаблицыИсточника);
Если ЗаполнятьНомераСтрокПоИсточнику Тогда
СтрокаТаблицыПриемника.НомерСтроки = СтрокаТаблицыИсточника.Владелец().Индекс(СтрокаТаблицыИсточника);
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
78 Функция РегистрПринадлежитВидамУчета(ИмяРегистра, СтруктураВидовУчета, РегистрыПоВидамУчета = Неопределено)
Если РегистрыПоВидамУчета = Неопределено Тогда
РегистрыПоВидамУчета = ПолучитьРегистрыПоВидамУчета();
КонецЕсли;
Для Каждого Элемент ИЗ СтруктураВидовУчета Цикл
Если Элемент.Значение И РегистрыПоВидамУчета.Свойство(Элемент.Ключ) И НЕ Найти(РегистрыПоВидамУчета(Элемент.Ключ),ИмяРегистра + ",") = 0 Тогда
Возврат Истина
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции;
79 Функция ПолучитьПараметрыУчетнойПолитики(КонДата, УчетнаяПолитикаНеЗадана, Организация = Неопределено, Учет = "упр", СообщатьОбОшибке = Истина) Экспорт
Если НРег(Учет) = "упр" Тогда
ПараметрыУчетнойПолитки = ПолучитьПараметрыУчетнойПолитикиУпр(КонДата, СообщатьОбОшибке);
Иначе
ПараметрыУчетнойПолитки = ПолучитьПараметрыУчетнойПолитикиРегл(КонДата, Организация, СообщатьОбОшибке);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ПараметрыУчетнойПолитки) Тогда
УчетнаяПолитикаНеЗадана = Истина;
КонецЕсли;
Возврат ПараметрыУчетнойПолитки;
КонецФункции;
80 Процедура ПоменятьПеременныеМестами(Источник, Приемник) Экспорт
тмп = Источник;
Источник = Приемник;
Приемник = Тмп;
КонецПроцедуры;
81 Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
Возврат СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Стр, Разделитель);
КонецФункции;
82 Функция ПолучитьСтрокуИзМассиваПодстрок(Массив, Разделитель = ",") Экспорт
Результат = "";
Для Каждого Элемент ИЗ Массив Цикл
Подстрока = ?(ТипЗнч(Элемент) = Тип("Строка"), Элемент, Строка(Элемент));
РазделительПодстрок = ?(ПустаяСтрока(Результат), "", Разделитель);
Результат = Результат + РазделительПодстрок + Подстрока;
КонецЦикла;
Возврат Результат;
КонецФункции;
83 Процедура ДобавитьПрефиксУзла(Префикс) Экспорт
Если ПараметрыСеанса.ИспользованиеРИБ ИЛИ ПараметрыСеанса.НаличиеОбменаУТУПП ИЛИ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей Тогда
Префикс = ПараметрыСеанса.ПрефиксУзлаРаспределеннойИнформационнойБазы + Префикс;
КонецЕсли;
КонецПроцедуры;
84 Функция ПолучитьПричинуОшибки(ИнформацияОбОшибке) Экспорт
ПричинаОшибки = ИнформацияОбОшибке.Причина;
Если ПричинаОшибки = НеОпределено Тогда
Возврат ИнформацияОбОшибке;
КонецЕсли;
Пока НЕ ПричинаОшибки.Причина = НеОпределено Цикл
ПричинаОшибки = ПричинаОшибки.Причина;
КонецЦикла;
Возврат ПричинаОшибки;
КонецФункции;
85 Функция ЗначениеРазделителяСеанса() Экспорт
Если НЕ ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
Возврат 0;
КонецЕсли;
КонецФункции;

Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена